interface Flag{
}
class Cont implements Flag{
private String name;
private int age;
public Cont(String name,int age){
this.name=name;
this.age=age;
}
public String toString(){
return "姓名:"+this.name+" 年龄:"+this.age;
}
}
class Cont2 implements Flag{
private String address;
private String phone;
public Cont2(String address,String phone){
this.address=address;
this.phone=phone;
}
public String toString(){
return "地址:"+this.address+" 电话:"+this.phone;
}
}
class Person <T extends Flag>{
private T info;
public Person(T info){
setInfo(info);
}
public void setInfo(T info){
this.info=info;
}
public T getInfo(){
return this.info;
}
public String toString(){
return "info:\n"+getInfo();
}
}
Cont cont=new Cont("张三",21);
Cont2 cont2=new Cont2("杭州","78067333");
Person<Cont> person=new Person<Cont>(cont);
Person<Cont2> person2=new Person<Cont2>(cont2);
System.out.println (person);
System.out.println (person2);
}
}
}
class Cont implements Flag{
private String name;
private int age;
public Cont(String name,int age){
this.name=name;
this.age=age;
}
public String toString(){
return "姓名:"+this.name+" 年龄:"+this.age;
}
}
class Cont2 implements Flag{
private String address;
private String phone;
public Cont2(String address,String phone){
this.address=address;
this.phone=phone;
}
public String toString(){
return "地址:"+this.address+" 电话:"+this.phone;
}
}
class Person <T extends Flag>{
private T info;
public Person(T info){
setInfo(info);
}
public void setInfo(T info){
this.info=info;
}
public T getInfo(){
return this.info;
}
public String toString(){
return "info:\n"+getInfo();
}
}
public class GenericsDemo04{
public static void main (String[] args) {Cont cont=new Cont("张三",21);
Cont2 cont2=new Cont2("杭州","78067333");
Person<Cont> person=new Person<Cont>(cont);
Person<Cont2> person2=new Person<Cont2>(cont2);
System.out.println (person);
System.out.println (person2);
}
}
本文通过实例展示了Java泛型的高级用法,包括如何实现不同泛型类型的对象作为参数传递,并通过泛型类进行操作。通过具体代码演示了泛型在实际开发中的灵活运用。
192

被折叠的 条评论
为什么被折叠?



