泛型(java)

下面代码是java泛型的例子

 

/**
 * 自定义属性类型的类
 *
 * @author limeteor
 *
 */
public class Student<T> {
 String name;//名称
 T address;//自定义类型 的地址
 
 /**
  * 地址的get()方法
  * @return 自定义类型
  */
 public T getAddress(){
  return address;
  
 }
 
 /**
  * 地址的set()方法
  * @param 自定义类型
  */
 public void setAddress(T address){
  this.address = address;
 }
 
 /**
  * 名称的get()方法
  * @return String类型
  */
 public String getName(){
  return name;
  
 }
 /**
  * 名称的set()方法
  * @param name
  */
 public void setName(String name){
  this.name = name;
 }
 
 /**
  * 无参数的构造方法
  */
 public Student(){
  super();
 }
 
 /**
  * 有二个参数的构造方法
  * @param name
  * @param address
  */
 public Student(String name,T address){
  super();
  this.name = name;
  this.address = address;
 }
 
 
 /**
  * main()方法
  * @param args
  */
 public static void main(String[] args) {
  Student<String> stu = new Student<String>();
  stu.name="Limeteor";
  stu.address = "中国陕西西安158号";
  System.out.println(stu.getAddress());
  
  Student<Address> stu1 = new Student<Address>();
  stu1.setName("qingqing");
  stu1.setAddress(new Address("中国", "陕西", "西安", 158));
  System.out.println(stu1.getAddress());
 }
}

/**
 * 定义一个类
 *
 * @author limeteor
 *
 */
class Address {
 String country;// 国家
 String city;// 城市
 String street;// 街道
 int no;// 门牌号

 /**
  * 带参数的构造方法
  *
  * @param country
  * @param city
  * @param street
  * @param no
  */
 public Address(String country, String city, String street, int no) {
  super();
  this.country = country;
  this.city = city;
  this.street = street;
  this.no = no;
 }

 /**
  * 无参数的方法
  * @return 返回详细的地址信息
  */
 public String toString() {
  return country + city + street + no + "号";
 }
}

 

 

要注意的知识点有

1.定义一个泛型类,就是在类名后面的尖括号中定义一个名称,代表一个数据类型,在本类中被用到。

2.T在程序中可以称为一种特定的数据类型。

3.T在类中可以用作成员变量的类型,方法参数类型,方法返回值类型。

4.在定义Student对象时,需要指明T的实际类型,这里指定的是String类型,同样指明的是Address类型。

posted @ 2010-04-08 14:42  LiMeteor  阅读(216)  评论(0编辑  收藏  举报