1.创建泛型类以及使用该类
先创建一个MyGeneric<T>泛型
/**
* 泛型类
* 语法:类名<T>
* T是类型占位符,表示一种应用类型,如果编写多个使用逗号隔开
* </T>
*/
public class MyGeneric<T> {
//使用泛型T
//1.创建变量
T t;
//2泛型作为方法的参数
public void show(T t)
{
System.out.println(t);
}
//3泛型作为方法的返回值
public T getT()
{
return t;
}
}
然后创建一个测试类
public class TestGeneric {
public static void main(String args[])
{
//使用泛型类创建对象
//注意:1.泛型类只能使用引用类型,2不同泛型对象不能相互复制
MyGeneric<String> myGeneric=new MyGeneric<String>();
myGeneric.t="hello";
myGeneric.show("大家好");
String string =myGeneric.getT();
MyGeneric<Integer> myGeneric2=new MyGeneric<Integer>();
myGeneric2.t=100;
myGeneric2.show(200);
Integer integer=myGeneric2.getT();
}
}
2.泛型接口
先创建一个泛型接口
/**
*泛型接口
* 注意:不能泛型静态常量
*
*/
public interface MyInterface<T> {
String name="张三";
T server(T t);
}
两种方法实现该接口
法一:实现泛型接口,并在创建时就决定泛型的数据类型
/**
* 实现泛型接口,并在创建时就决定泛型的数据类型
*/
public class MyInterfaceImpl implements MyInterface<String> {
@Override
public String server(String t)
{
System.out.println(t);
return t;
}
}
法二:创建泛型类,由创建的泛型的数据类型的参数决定泛型接口的数据类型
/**
* 创建泛型类,由创建的泛型的数据类型的参数决定泛型接口的数据类型
*/
public class MyInterfaceImpl2<T> implements MyInterface<T> {
@Override
public T server(T t) {
System.out.println(t);
return null;
}
}
3.泛型方法的创建
/**
* 泛型方法,语法:<T> 返回值类型
*/
public class MyInterfaceImpl {
//泛型方法
public <T> T show (T t) {
System.out.println("泛型方法" + t);
return t;
}
}