Hello! 欢迎来到小浪资源网!



泛型构造函数


泛型构造函数

即使类本身并非泛型,其构造函数也可以是泛型的。以下示例展示了非泛型类Summation拥有泛型构造函数的用法:

// 使用泛型构造函数 class Summation {     private int sum;      <T extends number> Summation(T arg) { // 泛型构造函数         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("4.0 的总和是 " + ob.getSum());     } }

Summation类计算并存储从0到构造函数传入参数的整数和。

泛型类型约束:

类型参数T受Number约束,这意味着构造函数可以接受任何Number类型的子类,例如IntegerFloatdouble

类型转换

intValue()方法用于将传入的Number类型参数转换为int类型,以便进行求和计算。

灵活性和优势:

虽然Summation类本身不是泛型,但使用泛型构造函数赋予了它处理不同数值类型的灵活性,而无需创建多个重载构造函数。 这种方式简洁高效。

相关阅读