<span style="font-size:18px;">/**
*
*在定义类时,定义泛型
*/
public class People <T>{
private T name;
private T age;
public People(){
}
public T getName() {
return name;
}
public void setName(T name) {
this.name = name;
}
public T getAge() {
return age;
}
public void setAge(T age) {
this.age = age;
}
}
</span>
调用
<span style="font-size:18px;">/**
* 通配符的使用
* ?指的是通配符
*
*
*/
public class FanXing3 {
public static void main(String[] args) {
People<String>p1= new People<String>();
p1.setName("刘备");
p1.setAge("12");
myPrint1(p1);
People<Integer>p2= new People<Integer>();
p2.setName(123);
p2.setAge(456);
myPrint2(p2);
}
/**
* ?表示通配符
*
*/
public static void myPrint1(People<?>p){
// 通配符中不能设置值
// String nameStr=p.setName("12");
String nameStr=(String) p.getName();
String ageStr=(String) p.getAge();
System.out.println(nameStr);
System.out.println(ageStr);
}
/**
* ?表示通配符
*
*/
public static void myPrint2(People<?>p){
Integer nameInt=(Integer) p.getName();
Integer ageInt=(Integer) p.getAge();
System.out.println(nameInt);
System.out.println(ageInt);
}
}</span>