泛型是在jdk之后才出现的一种机制说简单点就是一个特定的对象可以接收任何的对象例如杯子可以装水也可以装饮料说简单点就是来者不拒什么都要下面我就来写个小例子看一下
写一个接口Info里面什么方法都不用写
view plain
package orglxhdao;
public interface Info {
}
写个类实现这个接口
view plain
package orglxhimpl;
import orglxhdaoInfo;
public class Introduction implements Info {
private String name;
private String age;
public Introduction(String name String age) {
thisname = name;
thisage = age;
}
public String getName() {
return name;
}
public void setName(String name) {
thisname = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
thisage = age;
}
public String toString() {
return [name= + name + age= + age + ];
}
view plain
package orglxhimpl;
import orglxhdaoInfo;
public class Contact implements Info {
private String address;
private String phone;
public String getAddress() {
return address;
}
public Contact(String address String phone) {
thisaddress = address;
thisphone = phone;
}
public void setAddress(String address) {
thisaddress = address;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
thisphone = phone;
}
public String toString() {
return [address= + address + phone= + phone + ];
}
}
这里这么写就代表人的属性人可以有联系方式和基本信息
写一个基础类Person它既可以接收基本信息也可接收联系方式
view plain
package orglxhimpl;
import orglxhdaoInfo;
public class Person<T extends Info> {
private T info;
public Person(T info){ //在这里Person可以接收Contact也可以接收Introduction
thissetInfo(info);
}
public void setInfo(T info) {
= info;
}
public T getInfo() {
return info;
}
public String toString() {
return 个人信息: + info ;
}
}
编写测试类进行测试
view plain
package orglxhtest;
import orglxhimplContact;
import orglxhimplIntroduction;
import orglxhimplPerson;
public class Test {
public static void main(String args[]){
Person<Introduction> p=new Person<Introduction>(new Introduction(陈亚峰));
Systemoutprintln(ptoString());
Person<Contact> p=new Person<Contact>(new Contact(上海市));
Systemoutprintln(ptoString());
}
}
这个测试类把联系方式和基本信息进行了显示达到了我们所要的效果