java 泛型
class Con2{ //泛型
private T m;
void setvalue(T m){
this.m=m;
}
T getvalue(){
return m;
}
void show(){
System.out.println(m);
}
public String toString(){ //字符转换
return this.getvalue().toString();
}
}
interface Gin{ //泛型接口
public void say();
}
class Inter implements Gin{ //实现接口
private String str;
public void say(){
}
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
}
public class fanxingDemo {
public static void main(String[] args) {
Con2<String> p1=new Con2<String>();
p1.setvalue("Wade");
p1.show();
tell(p1);
Inter<String> p2=new Inter<String>(); //此时声明T的类型
p2.setStr("james");
System.out.println(p2.getStr());
System.out.println(tell("泛型方法"));
System.out.println(tell(100)); //可以输出任何类型数据
String arr[]={"wade","kobe","james"}; //数组实现
tell2(arr);
}
public static void tell(Con2<?> m){ //通配符
System.out.println(m);
}
public static <T> T tell(T m){ //泛型方法
return m;
}
public static <T> void tell2(T arr[]){ //泛型数组
for(int i=0;i<arr.length;i++)
System.out.println(arr[i]);
}
}