interface Info{//只有此接口的子类是表示人的信息
}
class Contact implements Info{
private String address;//联系地址
private String telphone;//联系方式
private String zipcode;//邮政编码
public Contact(String address,String telphone,String zipcode){
this.address=address;
this.telphone=telphone;
this.zipcode=zipcode;
}
public void setAddress(String address){
this.address=address;
}
public void setTelphone(String telphone){
this.telphone=telphone;
}
public void setZipcode(String zipcode){
this.zipcode=zipcode;
}
public String getAddress(){
return this.address;
}
public String getTelphone(){
return this.telphone;
}
public String getZipcode(){
return this.zipcode;
}
public String toString(){
return "联系方式:"+"\n"+
"\t|-联系电话:"+this.telphone+"\n"+
"\t|-联系地址:"+this.address+"\n"+
"\t|-邮政编码:"+this.zipcode+"\n";
}
}
class Introduction implements Info{
private String name;
private String sex;
private int age;
public Introduction(String name,String sex,int age){
this.name=name;
this.sex=sex;
this.age=age;
}
public void setName(String name){
this.name=name;
}
public void setSex(String sex){
this.sex=sex;
}
public void setAge(int age){
this.age=age;
}
public String getName(){
return this.name;
}
public String getSex(){
return this.sex;
}
public int getAge(){
return this.age;
}
public String toString(){
return "基本信息:"+"\n"+
"\t|-姓名:"+this.name+"\n"+
"\t|-性别:"+this.sex+"\n"+
"\t|-年龄:"+this.age+"\n";
}
}
class Person<T extends Info>{
private T info;
public Person(T info){
this.info=info;
}
public void setInfo(T info){
this.info=info;
}
public T getInfo(){
return this.info;
}
public String toString(){
return this.info.toString();
}
}
public class Demo{
public static void main(String args[]){
Person<Contact> per1=null;
per1=new Person<Contact>(new Contact("山东","1383838438","210000"));
System.out.println(per1);
Person<Introduction> per2=null;
per2=new Person<Introduction>(new Introduction("lid","男",20));
System.out.println(per2);
}
}