在 泛型概念 里面我们了解了泛型的赋值和使用。那么如果想在构造函数里面就设置被泛型定义的属性的值,我们会怎么处理呢?
[访问权限] 构造方法 ([范型类型 参数名称]){ }
从语法中可以看出,和一般的构造方法实现一样。就是在具体创建对象的时候,就将对象里面声明泛型的属性类型确定了。
我们定义一个有构造方法的类,需要用到泛型
package com.haicoder.net.paradigm;
public class Point<T> {
private T value;
public T getValue() {
return value;
}
public void setValue(T value) {
this.value = value;
}
public Point(T value) {
this.value = value;
}
}
定义一个测试类,来调用该方法类
package com.haicoder.net.paradigm;
public class TestParadigm {
public static void main(String[] args) {
System.out.println("嗨客网(www.haicoder.net)");
Point<String> paramPoint = new Point<>("你好啊") ;
paramPoint.setValue("你好啊");
Point<Integer> integerPoint = new Point<>(122);
integerPoint.setValue(12222);
System.out.println("String value is :" + paramPoint.getValue());
System.out.println("Integer value is :" + integerPoint.getValue());
System.out.println("结束");
}
}
运行结果如下:
在构造函数里面声明的时候,我们用 T 表示参数的类型,在创建对象的时候,我们就将对象的数据值传递进去。
和普通的 构造方法 类似,泛型这边的构造方法里面的对应的属性的参数值,也需要用泛型。只不过一般的构造方法已经知道对应的属性的类型,而这边不清楚对应属性的类型,所以用泛型替代。