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);
}
}