java泛型的使用
泛型是在jdk1.6之后才出现的一种机制,说简单点就是一个特定的对象可以接收任何的对象。例如杯子可以装水也可以装饮料,说简单点就是“来者不拒”什么都要。下面我就来写个小例子看一下。
1.写一个接口Info里面什么方法都不用写
view plain
package org.lxh.dao;
public interface Info {
}
2.写2个类实现这个接口
view plain
package org.lxh.impl;
import org.lxh.dao.Info;
public class Introduction implements Info {
private String name;
private String age;
public Introduction(String name, String age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String toString() {
return "[name=" + name + ", age=" + age + "]";
}
}
view plain
package org.lxh.impl;
import org.lxh.dao.Info;
public class Contact implements Info {
private String address;
private String phone;
public String getAddress() {
return address;
}
public Contact(String address, String phone) {
this.address = address;
this.phone = phone;
}
public void setAddress(String address) {
this.address = address;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String toString() {
return "[address=" + address + ", phone=" + phone + "]";
}
}
这里这么写就代表人的属性,人可以有联系方式和基本信息
3.写一个基础类Person,它既可以接收基本信息也可接收联系方式
view plain
package org.lxh.impl;
import org.lxh.dao.Info;
public class Person<T extends Info> {
private T info;
public Person(T info){ //在这里Person可以接收Contact也可以接收Introduction
this.setInfo(info);
}
public void setInfo(T info) {
this.info = info;
}
public T getInfo() {
return info;
}
public String toString() {
return "个人信息:" + info ;
}
}
4.编写测试类进行测试
view plain
package org.lxh.test;
import org.lxh.impl.Contact;
import org.lxh.impl.Introduction;
import org.lxh.impl.Person;
public class Test {
public static void main(String args[]){
Person<Introduction> p=new Person<Introduction>(new Introduction("陈亚峰","22"));
System.out.println(p.toString());
Person<Contact> p2=new Person<Contact>(new Contact("上海市","15289714598"));
System.out.println(p2.toString());
}
}
这个测试类把联系方式和基本信息进行了显示,达到了我们所要的效果。
------解决方案--------------------go on
------解决方案--------------------散分么? 收下了。。。
------解决方案--------------------又复习了下……
------解决方案--------------------让我又复习了一遍。。
------解决方案--------------------实际上泛型是 JDK 1.5 出现的,呵呵。
------解决方案--------------------