标签:
1 class Gen<T> { 2 private T ob; // 定义泛型成员变量 3 4 public Gen(T ob) { 5 this.ob = ob; 6 } 7 8 public T getOb() { 9 return ob; 10 } 11 12 public void setOb(T ob) { 13 this.ob = ob; 14 } 15 16 public void showType() { 17 System.out.println("T的实际类型是: " + ob.getClass().getName()); 18 } 19 } 20 21 public class GenDemo { 22 public static void main(String[] args) { 23 // 定义泛型类Gen的一个Integer版本 24 Gen<Integer> intOb = new Gen<Integer>(88); 25 intOb.showType(); 26 int i = intOb.getOb(); 27 System.out.println("value= " + i); 28 System.out.println("----------------------------------"); 29 // 定义泛型类Gen的一个String版本 30 Gen<String> strOb = new Gen<String>("Hello Gen!"); 31 strOb.showType(); 32 String s = strOb.getOb(); 33 System.out.println("value= " + s); 34 } 35 }
例子二:没有使用泛型
1 class Gen2 { 2 private Object ob; // 定义一个通用类型成员 3 4 public Gen2(Object ob) { 5 this.ob = ob; 6 } 7 8 public Object getOb() { 9 return ob; 10 } 11 12 public void setOb(Object ob) { 13 this.ob = ob; 14 } 15 16 public void showTyep() { 17 System.out.println("T的实际类型是: " + ob.getClass().getName()); 18 } 19 } 20 21 public class GenDemo2 { 22 public static void main(String[] args) { 23 // 定义类Gen2的一个Integer版本 24 Gen2 intOb = new Gen2(new Integer(88)); 25 intOb.showTyep(); 26 int i = (Integer) intOb.getOb(); 27 System.out.println("value= " + i); 28 System.out.println("---------------------------------"); 29 // 定义类Gen2的一个String版本 30 Gen2 strOb = new Gen2("Hello Gen!"); 31 strOb.showTyep(); 32 String s = (String) strOb.getOb(); 33 System.out.println("value= " + s); 34 } 35 }
标签:
原文地址:http://www.cnblogs.com/hanazawalove/p/5263234.html