泛型类
泛型类
/**
* 泛型类
* 语法:类名
* T是类型占位符,表示一种引用类型,如果编写多个使用都好隔开,如:MyGeneric<T,T1,T2>
* @param <T>
*/
public class MyGeneric<T> {
//使用泛型T
//1.创建变量
T t;
//2.泛型作为方法的参数
public void show(T t){
//T t1 = new T();
// 泛型在使用的时候不能实例化,因为不确定数据类型,从而不能却低音这个类型的构造方法能否使用,万一构造方法是私有的就不能实例化
System.out.println(t);
}
//3.泛型作为方法的返回值
public T getT(){
return t;
}
}
操作泛型类
public class Test {
public static void main(String[] args) {
//使用泛型类创建对象
//注意:1.泛型只能是引用类型,2.不同泛型类型对象不能相互赋值
MyGeneric<String> myGeneric = new MyGeneric<>();
myGeneric.t="hello";
myGeneric.show("你好啊泛型");//你好啊泛型
String t1 = myGeneric.getT();
System.out.println(t1);//hello
MyGeneric<Integer> myGeneric1 = new MyGeneric<>();
myGeneric1.t = 200;
myGeneric1.show(100);//100
Integer t = myGeneric1.getT();
System.out.println(t);//200
// MyGeneric<String> myGeneric2 = myGeneric1;//不同泛型对象之间不能相互赋值,因为类型不同
}
}