/*

* 泛型接口

*/

interface Tool {

public void show(T t);

//泛型方法

public void print(E e);

}

/*

* 这种方式适合实现接口的时候就知道类里的泛型是什么

*/

class ToolImpl implements Tool {

@Override

public void show(String t) {

System.out.println("show:" + t);

}

@Override

public 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);

}

}

/*

* 这种方式适合使用的时候指定泛型

* 在继承接口的时候不用指定泛型

* 注意的是也可以写成别的比如

* 写成的话,类上的和print方法

* 上的也不是一个类型

*/

class Tool3Impl implements Tool {

@Override

public void show(T t) {

System.out.println("show=" + t);

}

@Override

public void print(E e) {

System.out.println("print=" + e);

}

}

/*

* 这个写法中show方法和print方法用的泛型也不是一个

* 类上的和print方法上的不是一个类型!!!

*/

class Tool4Impl implements Tool {

@Override

public void show(E t) {

System.out.println("show-" + t);

}

@Override

public void print(E e) {

System.out.println("print-" + e);

}

}

/*

* 错误!

* class Tool5Impl implements Tool {

*

* }

*/

/*

* 正确,但是这个泛型上的String没意义,和Tool3Impl写法没区别

* class Tool5Impl implements Tool {

*

* }

*/

/*

* 错误1

* class Tool5Impl implements Tool {

*

* }

*/

/*

* 正确,但是这个泛型上的String|T没意义,和Tool4Impl写法没区别

* class Tool6Impl implements Tool {

*

* }

*/

public class GenericDemo {

public static void main(String[] args) {

ToolImpl ti = new ToolImpl();

ti.show("nihao");

ti.print(6);

Tool3Impl t3i = new Tool3Impl();

t3i.show("haha");

t3i.print(6);

Tool4Impl t4i = new Tool4Impl();

t4i.show("hehe");

t4i.print(6);

}

}

java接口 泛型_java 泛型接口示例相关推荐

  1. java接口 泛型_java泛型接口是肿么一回事,干什么用的

    1.泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛型方法. Java语 ...

  2. java comparable 泛型_Java泛型的应用——T extends Comparable? super T

    在观察Java源码的时候,发现了这么一个写法T extends Comparable super T>.不禁纳闷为什么要这么写呢?有什么好处吗,extends和super在这里的作用着实让人有点 ...

  3. java 接口编程_JAVA面向接口编程

    一.什么是面向接口编程 要正确地使用Java语言进行面向对象的编程,从而提高程序的复用性,增加程序的可维护性.可扩展性,就必须是面向接口的编程.面向接口的编程就意味着:开发系统时,主体构架使用接口,接 ...

  4. java 接口 私有_Java 9:好的,坏的和私有的接口方法

    java 接口 私有 Java 9 是在几周前发布的. 查看发行说明 ,其中包含许多有趣的功能. 不过,我觉得并非一切都是不如Oracle和Java行家似乎图片吧 . 我看到了Java世界中的三个趋势 ...

  5. java set泛型_Java 集合二 泛型、Set相关

    泛型 1.在定义一个类的方法时,因为不确定返回值类型,所以用一个符号代替,这个符号就是泛型 eg:ArrayList list = new ArrayList(); 2.泛型的好处: 1.提高了数据的 ...

  6. java 接口 抛出异常_Java接口抛出异常,但接口实现不抛出异常?

    我读到这段代码的接口抛出一个异常,但实现它不抛出一个或赶上一个类,这是为什么?在java中合法还是安全?Java接口抛出异常,但接口实现不抛出异常? import java.rmi.*; public ...

  7. java 接口对象_Java面向对象之接口——interface

    Java面向对象之接口--interface 什么是接口 一般计算机中的接口分为硬件接口和软件接口. 硬件接口:是指两个硬件设备之间的连接方式,既包括物理上的接口,还包括逻辑上的数据传送协议. 软件接 ...

  8. java 接口重载_java,_java 接口中如何声明类似于重载的方法?,java - phpStudy

    java 接口中如何声明类似于重载的方法? 我们的作业要写一个web宠物医院管理系统,因为医生.客户等都包含浏览.添加.删除操作,所以对于service层,我希望有个统一的接口以供servlet中的类 ...

  9. java 接口 泛型示例,java泛型接口实现示例

    //泛型接口定义 interface ISum { public abstract void sum(T... t); } //从泛型接口继承的具体类型类 class IntSum implement ...

最新文章

  1. java内连接外连接_SQL中的内连接与外连接--Java学习网
  2. 10版微机监测怎么显示服务器,铁路信号网络版微机监测系统的研究
  3. poj 1637 Sightseeing tour
  4. 手撕 CNN 经典网络之 VGGNet(理论篇)
  5. 高效程序员应该养成的七个习惯
  6. python输出生日程序_Python中:利用七段数码管输出自己的生日及系统当前时间
  7. 《Node.js开发实战详解》学习笔记
  8. vue-element-admin 设置默认语言
  9. python之import子目录文件
  10. CrackMe011
  11. 什么是大数据分析及挖掘技术
  12. html怎么用excel打开乱码,excel打开是乱码,详细教您excel打开是乱码怎么解决
  13. Yahoo 股票数据抓取
  14. SPSS常见数据分析方法比较汇总
  15. 读书笔记:《产品经理手册》(第4版)
  16. js实现数字金额转换大写及数字加千分符
  17. linux磁盘写保护怎么修改_linux
  18. WebRTC系列-H.264预估码率计算
  19. 进制的转换 如六进制
  20. 计算机收藏夹位于哪个磁盘,电脑浏览器收藏夹保存在哪里

热门文章

  1. java过滤乱码 \u形式乱码 unicode乱码
  2. TPL中Task执行的内联性线程重入
  3. Visual Studio 2015价格大幅下调
  4. 思科cisco解决方案:思科ACI解决方案和Nexus_9000交换机
  5. Unity的Deferring the Resolution of Objects
  6. OCS 如何在数据库直接给用户增加联络人
  7. 【指标统计】根据遥控补全遥信
  8. time_t和字符串间的转化
  9. 关于YOLO算法的备忘
  10. Linux之静态库与动态库20160706