Java泛型--泛型實例--標識接口的定義
一個人的信息:
·基本信息
·聯係方式
此時,肯定要設計一個接口,因為隻有實現了此接口的類才應該可以表示出人的信息。
interface Info{ // 隻有此接口的子類才是表示人的信息 }

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(){ return "聯係方式:" + "\n" + "\t|- 聯係電話:" + this.telphone + "\n" + "\t|- 聯係地址:" + this.address + "\n" + "\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 "基本信息:" + "\n" + "\t|- 姓名:" + this.name + "\n" + "\t|- 性別:" + this.sex + "\n" + "\t|- 年齡:" + this.age ; } }; class Person<T extends Info>{ private T info ; public Person(T info){ // 通過構造方法設置信息屬性內容 this.setInfo(info); } public void setInfo(T info){ this.info = info ; } public T getInfo(){ return this.info ; } public String toString(){ // 覆寫Object類中的toString()方法 return this.info.toString() ; } };
聯係方式作為信息:
public class GenericsDemo32{ public static void main(String args[]){ Person<Contact> per = null ; // 聲明Person對象 per = new Person<Contact>(new Contact("北京市","01051283346","100088")) ; System.out.println(per) ; } };
基本信息作為信息:
public class GenericsDemo33{ public static void main(String args[]){ Person<Introduction> per = null ; // 聲明Person對象 per = new Person<Introduction>(new Introduction("李興華","男",30)) ; System.out.println(per) ; } };
最後更新:2017-04-03 14:53:45