Java中的泛型

泛型概念:泛指某一种类型。

使用时机:
创建一个对象的时候, 明确泛型。
调用一个方法的时候,明确泛型。
创建一个类,然后类实现一个接口的时候,明确泛型。

泛型作用:

1,让程序更精确
比如Arraylist al = new ArrayList<>();
2,提高程序的 可扩展性 兼容性,体现可扩展性的地方就是我们下面要提到的泛型类,泛型方法,泛型接口。

泛型类

娱乐公司类:

游戏公司类:

动漫公司类:

泛型类例子:
创建一个对象的时候, 明确泛型。

结果:

通过泛型可以用一个Entertainment_Company类来打印操作多种类型,
具体类型与Entertainment_Company<>尖括号里的泛型有关系。
缺点:需要建立很多不同公司类型的对象。

泛型方法:

娱乐公司类:

游戏公司类:

动漫公司类:

泛型类例子:
调用一个方法的时候,明确泛型。

结果:

我们把泛型只加在Entertainment_Company类中的show方法上,这样我们使用这个show方法的时候才明确泛型。
所以创建对象的时候不需要明确泛型,一个对象就足够了。

泛型接口:

公司接口:

玩类:

游戏公司类:继承公司接口未定泛型

动漫公司类:继承公司接口确定泛型是Entertainment类型

结果:

泛型通配符

不确定类型<?>


并不能创建对象,我们一般用来做接收。

表示任意类型。

自己和自己的子类<? extends 类>

不能创建对象,用来做接收,范围是这个类以及其子类。

无法通过编译,Animal不是Cat的子类而是父类

通过编译,Animal是Cat的父类

没add过就输出俩[]空集了。

自己和自己的父类<? super 类>

同理不能创建对象,用来做接收,范围是这个类以及其父类。

无法通过编译,Cat不是Animal的父类而是子类

通过编译,Animal是Cat的父类

没add过就输出俩[]空集了。

posted @ 2019-11-19 15:17  卯毛  阅读(222)  评论(0编辑  收藏  举报