Java泛型应用示例

来源:互联网 发布:剑三成男脸型数据网盘 编辑:程序博客网 时间:2024/04/30 11:25

示例代码:

interface Info{// 只有此接口的子类才是表示人的信息}class Contact implements Info{// 表示联系方式private String address ;// 联系地址private String telephone ;// 联系方式private String zipcode ;// 邮政编码public Contact(String address,String telephone,String zipcode){this.address = address;this.telephone = telephone;this.zipcode = zipcode;}public void setAddress(String address){this.address = address ;}public void setTelephone(String telephone){this.telephone = telephone ;}public void setZipcode(String zipcode){this.zipcode = zipcode;}public String getAddress(){return this.address ;}public String getTelephone(){return this.telephone ;}public String getZipcode(){return this.zipcode;}@Overridepublic String toString() {return "Contact [address=" + address + ", telephone=" + telephone+ ", zipcode=" + zipcode + "]";}}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 ;}@Overridepublic String toString() {return "Introduction [name=" + name + ", sex=" + sex + ", age=" + age+ "]";}}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 info ;}@Overridepublic String toString() {return "Person [info=" + info + "]";}//public String toString(){// 覆写Object类中的toString()方法//return this.info.toString() ;//}}public class GenericPerson{public static void main(String args[]){Person<Contact> per = null ;// 声明Person对象per = new Person<Contact>(new Contact("北京市","01088888888","102206")) ;System.out.println(per);Person<Introduction> per2 = null ;// 声明Person对象per2 = new Person<Introduction>(new Introduction("李雷","男",24));System.out.println(per2) ;}}


0 0
原创粉丝点击