java 泛型接口示例
2016-08-23 12:49
435 查看
/* * 泛型接口 */ interface Tool<t> { public void show(T t); //泛型方法 public <e> void print(E e); } /* * 这种方式适合实现接口的时候就知道类里的泛型是什么 */ class ToolImpl implements Tool<string> { @Override public void show(String t) { System.out.println("show:" + t); } @Override public <e> void print(E e) { System.out.println("print:" + e); } } /* * 这种方式不好! */ class Tool2Impl implements Tool { @Override public void show(Object t) { System.out.println("show obj" + t); } @Override public void print(Object e) { System.out.println("show obj" + e); } } /* * 这种方式适合使用的时候指定泛型 * 在继承接口的时候不用指定泛型 * 注意的是<t>也可以写成别的比如<c> * 写成<e>的话,类上的<e>和print方法 * 上的<e>也不是一个类型 */ class Tool3Impl<t> implements Tool<t> { @Override public void show(T t) { System.out.println("show=" + t); } @Override public <e> void print(E e) { System.out.println("print=" + e); } } /* * 这个写法中show方法和print方法用的泛型也不是一个 * 类上的<e>和print方法上的<e>不是一个类型!!! */ class Tool4Impl<e> implements Tool<e> { @Override public void show(E t) { System.out.println("show-" + t); } @Override public <e> void print(E e) { System.out.println("print-" + e); } } /* * 错误! * class Tool5Impl<string> implements Tool<t> { * * } */ /* * 正确,但是这个泛型上的String没意义,和Tool3Impl写法没区别 * class Tool5Impl<string, t=""> implements Tool<t> { * * } */ /* * 错误1 * class Tool5Impl<string|t> implements Tool<e> { * * } */ /* * 正确,但是这个泛型上的String|T没意义,和Tool4Impl写法没区别 * class Tool6Impl<string|t, e=""> implements Tool<e> { * * } */ public class GenericDemo { public static void main(String[] args) { ToolImpl ti = new ToolImpl(); ti.show("nihao"); ti.print(6); Tool3Impl<string> t3i = new Tool3Impl<string>(); t3i.show("haha"); t3i.print(6); Tool4Impl<string> t4i = new Tool4Impl<string>(); t4i.show("hehe"); t4i.print(6); } }
相关文章推荐
- JAVA中常用接口的介绍及使用示例:java.lang.Comparable
- Java基础学习笔记(九)Comparable接口、Map接口、泛型
- Java 5.0 泛型之 Java泛型接口
- JAVA中常用接口的介绍及使用示例:java.lang.Comparable
- java 类抽象类 接口的主板示例
- 黑马程序员--Java基础加强--17.利用反射操作泛型VI【泛型类型变量的语义】【GenericDeclaration接口】【泛型接口TypeVariable】【通过Class反射解析泛型类】
- 避免代码冗余,使用接口和泛型重构Java代码
- JAVA接口的应用及工厂模式的简单示例
- Java基础----Java---集合框架---泛型、泛型方法、静态方法泛型、泛型接口、泛型限定、泛型类
- Java笔记之泛型接口
- Java基础之TreeSet集合使用泛型、比较器排序示例:
- Java 中 ListIterator 接口的使用示例
- OpenCV4Android开发之旅(二)----Eclipse调用OpenCV2.4.4的Java接口配置及示例
- 黑马程序员--Java基础加强--12.利用反射操作泛型I【与反射+泛型相关的接口类型综述】【Type】【ParameterizedType】【个人总结】
- Java基础学习笔记(九)Comparable接口、Map接口、泛型
- java 接口中使用泛型
- JAVA 泛型接口
- java网络编程之识别示例 获取主机网络接口列表
- JAVA学习笔记之泛型接口
- JAVA学习心得--继承、接口与泛型