package Hello1;
/*
* 总结:泛型就是一种模块化编程的体现,不会将类型写死,后面开发者可以更加灵活地传入类型
* 可以将<T>想成type的缩写,实例化类的时候,将T替换成想要的类型,T就是你想要的类型,例如<String>那么后面T就是String
* */
//实现一个接口
interface N <T>{ //定义泛型是T
T m1(); //返回值是T
}
public class Test10 {
public static void main(String[] args) {
//实例化类的时候,给T类型 泛型就是模块化编程,别人可以灵活的传类型进来
MyArrayList<String> c1 = new MyArrayList<>();
c1.method1("什么鬼");
}
}
//泛型类
class MyArrayList<T>{ //T可以被所有类成员利用
public T s;
void method1(T a) {
System.out.println(a.getClass());
System.out.println(s);
}
public T method2() { //T则是String类型
return null;
}
}
class c3 implements N<String>{
@Override
public String m1() {
// TODO Auto-generated method stub
return "helloworld";
}
}
class c4 implements N<Integer>{
@Override
public Integer m1() {
// TODO Auto-generated method stub
return 10;
}
}
网友评论