Java 5.0 泛型之 Java泛型接口

来源:互联网 发布:淘宝网帽子女士太阳帽 编辑:程序博客网 时间:2024/05/16 01:53

http://blog.csdn.net/regcy/article/details/5043680

http://blog.csdn.net/cxhzqhzq/article/details/6034289

[java] view plaincopy
  1. package Demo;  
  2.   
  3. // Java泛型接口  
  4. interface Info24<T> { // 在接口上定义泛型  
  5.     public T getVar(); // 定义抽象方法,抽象方法的返回值就是泛型类型  
  6. }  
  7.   
  8. class InfoImp24<T> implements Info24<T> { // 定义泛型接口的子类  
  9.     private T var; // 定义属性  
  10.   
  11.     public InfoImp24(T var) { // 通过构造方法设置属性内容  
  12.         this.setVar(var);  
  13.     }  
  14.   
  15.     public void setVar(T var) {  
  16.         this.var = var;  
  17.     }  
  18.   
  19.     public T getVar() {  
  20.         return this.var;  
  21.     }  
  22. }  
  23.   
  24. public class GenericsDemo24 {  
  25.     public static void main(String arsg[]) {  
  26.         Info24<String> i = null// 声明接口对象  
  27.         i = new InfoImp24<String>("it"); // 通过子类实例化对象  
  28.         System.out.println("Length Of String : " + i.getVar().length());  
  29.     }  
  30. }  

 

[java] view plaincopy
  1. package Demo;  
  2.   
  3. // Java泛型接口  
  4. interface Info25<T> { // 在接口上定义泛型  
  5.     public T getVar(); // 定义抽象方法,抽象方法的返回值就是泛型类型  
  6. }  
  7.   
  8. class InfoImp25 implements Info25<String> { // 定义泛型接口的子类  
  9.     private String var; // 定义属性  
  10.   
  11.     public InfoImp25(String var) { // 通过构造方法设置属性内容  
  12.         this.setVar(var);  
  13.     }  
  14.   
  15.     public void setVar(String var) {  
  16.         this.var = var;  
  17.     }  
  18.   
  19.     public String getVar() {  
  20.         return this.var;  
  21.     }  
  22. }  
  23.   
  24. public class GenericsDemo25 {  
  25.     // 该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。  
  26.     /* 
  27.      * @description "deprecation" 使用了不赞成使用的类或方法时的警告 
  28.      *  
  29.      * @description "unchecked" 执行了未检查的转换时的警告,例如当使用集合时没有用泛型 (Generics) 
  30.      * 来指定集合保存的类型。 
  31.      *  
  32.      * @description "fallthrough" 当 Switch 程序块直接通往下一种情况而没有 Break 时的警告。 
  33.      *  
  34.      * @description "path" 在类路径、源文件路径等中有不存在的路径时的警告。 
  35.      *  
  36.      * @description "serial" 当在可序列化的类上缺少 serialVersionUID 定义时的警告。 
  37.      *  
  38.      * @description "finally" 任何 finally 子句不能正常完成时的警告。 
  39.      *  
  40.      * @description "all" 关于以上所有情况的警告。 
  41.      */  
  42.     @SuppressWarnings("unchecked")  
  43.     public static void main(String arsg[]) {  
  44.         Info25 i = null// 声明接口对象  
  45.         i = new InfoImp25("it"); // 通过子类实例化对象  
  46.         System.out.println("Length Of String : "  
  47.                 + i.getVar().toString().length());  
  48.     }  


0 0
原创粉丝点击