- Um construtor pode ser genérico, mesmo se sua classe não o seja. Por exemplo, no programa a seguir, a classe Summation não é genérica, mas seu construtor é.
// Usa um construtor genérico.
class Summation {
private int sum;
<T extends Number> Summation(T arg) { // Construtor genérico
sum = 0;
for(int i=0; i <= arg.intValue(); i++)
sum += i;
}
int getSum() {
return sum;
}
}
class GenConsDemo {
public static void main(String args[]) {
Summation ob = new Summation(4.0);
System.out.println("Summation of 4.0 is " +
ob.getSum());
}
}
- A classe
Summation
é usada para calcular e encapsular a soma de valores numéricos de 0 até o número passado ao seu construtor.
Tipo Genérico com Limite Superior:
O parâmetro de tipo é limitado por Number, permitindo que a classe aceite qualquer tipo numérico, como Integer, Float ou Double.
Conversão de Tipos:
O valor numérico é convertido em Integer usando o método intValue() antes de calcular a soma.
Flexibilidade:
Embora a classe não seja genérica, o construtor é genérico, permitindo o uso de diferentes tipos numéricos de forma simples e eficiente.
Top comments (0)