泛型操作范例

来源:互联网 发布:三星4821hn网络打印 编辑:程序博客网 时间:2024/05/17 06:22

/*泛型操作范例:

 加深对泛型的理解,掌握标识接口的定义,主要采用的知识:关联 泛型 接口
 用户在设计类的时候往往使用类的关联关系,例如:一个人中可以定义一个信息的属性
 但是一个人可能有各种各种的属性
 如:联系方式,基本信息等,所以此类型的属性就可以通过泛型进行声明,之后只要设计相应的信息即可
*/


interface Info{  //只有此接口的子类才能表示人的信息,标识接口

}


class Contact implements Info{  //表示联系方式
private String address;   //地址
private String telphone;   //联系电话
private String zipcode;   //邮政编码

public Contact(String address,String telphone,String zipcode){  //构造方法
this.setAddress(address);
this.setTelphone(telphone);
this.setZipcode(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(){  //覆写Object类中的toString()方法
return "联系电话:"+this.telphone+"\t联系地址:"+this.address+"\t邮政编码:"+this.zipcode;
}

};


class Introduction implements Info{  
private String name;   //定义姓名属性
private String sex;   //定义性别属性
private int age;       //定义年龄属性

public Introduction(String name,String sex,int age){  //构造方法
this.setName(name);
this.setSex(sex);
this.setAge(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 "姓名:"+this.name+"\t性别:"+this.sex+"\t年龄:"+this.age;
}
};


class Person<T extends Info>{  //设置上限
private T info;
public Person(T info){  //通过构造方法设置属性内容
this.setInfo(info);
}

public void setInfo(T info){  //设置info
this.info=info;
}
public T getInfo(){  //取得Info
return this.info;
}

public String toString(){
return this.info.toString();
}
};


public class GenericCaseDemo1{
public static void main(String args[]){
//先将联系方式作为基本信息
Person<Contact> per=null;  //声明Person对象
per=new Person<Contact>(new Contact("合肥市","15105659115","238000"));
System.out.println(per);
}
};

原创粉丝点击