interface Contact{
}
class BaseInfo implements Contact{
private String name;
private int age;
public BaseInfo(String name,int age){
setName(name);
setAge(age);
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return (this.name);
}
public int getAge() {
return (this.age);
}
public String toString(){
return "name:"+this.name+","+"age:"+this.age;
}
}
class Info implements Contact{
private String tel;
private String addr;
public Info(String tel,String addr){
setTel(tel);
setAddr(addr);
}
public void setTel(String tel) {
this.tel = tel;
}
public void setAddr(String addr) {
this.addr = addr;
}
public String getTel() {
return (this.tel);
}
public String getAddr() {
return (this.addr);
}
public String toString(){
return "telphone:"+this.tel+"address:"+this.addr;
}
}
class Person<T extends Contact>{
private T t;
Person(T t){
this.t=t;
}
public String toString(){
return this.t.toString();
}
}
public class Gen{
public static void main(String[] args){
Person<BaseInfo> per1=new Person<BaseInfo>(new BaseInfo("wang",21));
Person<Info> per2=new Person<Info>(new Info("152-666-231","benjing"));
System.out.println (per1);
System.out.println (per2);
}
}