java泛型接口详解
来源:互联网 发布:最好的英汉翻译软件 编辑:程序博客网 时间:2024/06/05 00:08
/* * 泛型接口 */interface Tool<T> {public void show(T t);//泛型方法public <E> void print(E e);}/* * 这种方式适合实现接口的时候就知道类里的泛型是什么 */class ToolImpl implements Tool<String> {@Overridepublic void show(String t) {System.out.println("show:" + t);}@Overridepublic <E> void print(E e) {System.out.println("print:" + e);}}/* * 这种方式不好! */class Tool2Impl implements Tool {@Overridepublic void show(Object t) {System.out.println("show obj" + t);}@Overridepublic void print(Object e) {System.out.println("show obj" + e);}}/* * 这种方式适合使用的时候指定泛型 * 在继承接口的时候不用指定泛型 * 注意的是<T>也可以写成别的比如<C> * 写成<E>的话,类上的<E>和print方法 * 上的<E>也不是一个类型 */class Tool3Impl<T> implements Tool<T> {@Overridepublic void show(T t) {System.out.println("show=" + t);}@Overridepublic <E> void print(E e) {System.out.println("print=" + e);}}/* * 这个写法中show方法和print方法用的泛型也不是一个 * 类上的<E>和print方法上的<E>不是一个类型!!! */class Tool4Impl<E> implements Tool<E> {@Overridepublic void show(E t) {System.out.println("show-" + t);}@Overridepublic <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);}}
0 0
- java泛型接口详解
- java泛型接口详解
- 【java】:java接口详解
- Java泛型二:泛型类 泛型接口 泛型方法详解
- Java集合接口详解
- Java接口详解
- Java接口详解
- Java接口详解
- Java接口详解
- Java Comparable接口详解
- Java接口详解
- Java接口详解
- Java接口详解
- Java接口详解
- java的接口详解
- Java接口详解
- java 接口讲详解
- java接口interface详解
- lsof命令
- eclipse的项目分组功能
- 分享文字和图片到微博、微信等公众平台遇到的问题
- 外部中断设计实验
- 谈谈C# 4.0新特性“缺省参数”的实现
- java泛型接口详解
- 定时器/计数器设计实验
- 音视频优秀博客链接
- 关于javascript浮点数计算
- Lucene异常:org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out:
- 中英文切换
- Android Java 中Thread与Runnable的区别
- IIS6重写配置在IIS7中重写无效解决方案
- struts2系列十四之globalresult全局返回结果