
package lis0924;
//泛型类
//在类名和大括号{之间用<泛型标识>
public class Tesxt06 <T>
{
//泛型方法
public <E> void test(E e)//修饰符 <泛型标识>返回类型 方法名(参数列表){}
{
}
//
public Object getObj(Object obj)
{
return obj;
}
//使用泛型
public T getT(T t)
{
return t;
}
// //使用泛型
// public M getM(M m)
// {
// return m;
// }
}
package lis0924;
//限定泛型的范围某个类及子类extends
public class TextGen <T extends Person>{
private T name;
public T getT()
{
T rtn =null;
return rtn;
}
public TextGen(T name)
{
this.name=name;
}
}
package lis0924;
public class TextGen2 {
public <T> T getT(T name)///修饰符 <泛型标识>返回类型 方法名(参数列表){}
{
T rtn=null;
return rtn;
}
// public void sexT(T name)
// {
//
// }
}
package lis0924;
public class Text07 {
public static void main(String[] args) {
Tesxt06 t6=new Tesxt06();
Object obj=t6.getObj(new Person("G",20));
Person p=(Person)obj;
System.out.println(p);
//使用泛型类
Tesxt06 <Person> t1=new Tesxt06<>();
t1.getT(new Person("M",23));
Person p1=t1.getT(new Person("M",23));
System.out.println(p1);
//实例化泛型类
TextGen <Person> tp =new TextGen<>(new Person("A",30));//Student
TextGen2 t2=new TextGen2();
String srt =t2.getT("");
//通配符
//你只有null才能匹配
}
}