class Children<T>{
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public T getAge() {
return age;
}
public void setAge(T age) {
this.age = age;
}
String name;
T age;
public Children(String name,T age) {
this.name = name;
this.age =age;
}
}
//通配符上限
class Children2<T extends Number>{
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public T getAge() {
return age;
}
public void setAge(T age) {
this.age = age;
}
String name;
T age;
public Children2(String name,T age) {
this.name = name;
this.age =age;
}
}
//泛型接口
interface Ieat<T>{
public void eat(T food);
}
class ieatDo<T> implements Ieat<T>{
public void eat(T food) {
}
}
public static void tTtest() {
Children c = new Children<String>("aa","23424");
Children d = new Children<Integer>("bb",8);
System.out.println(c.age);
System.out.println(d.age);
tTest(c);
tTest(d);
//通配符的上限和下限
//Integer是number的子类,所以可以传
Children2 c2 = new Children2<Integer>("aa",9);
String[] names = {"小白","凤凤","空空"};
names = funce(names,2,1);
}
//通配符只能输出不能修改
public static void tTest(Children<?>c) {
System.out.println(c.age);
}
//泛型定义方法
public static<T> T[] funce(T[] array , int i,int j){
T tmp = array[i];
array[i]=array[j];
array[j]=tmp;
return array;
}