zoukankan      html  css  js  c++  java
  • 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过就输出俩[]空集了。

  • 相关阅读:
    #2051:Bitset(进制转化)
    #2054:A == B ?(水题坑人)
    #2045:不容易系列之三LELE的RPG难题(dp递推)
    #2037:今年暑假不AC
    #2036:改革春风吹满地
    OJ中的语言选项里G++ 与 C++的区别
    如何在CSDN上如何快速转载博客
    Python之路(第八篇)Python内置函数、zip()、max()、min()
    Python编程笔记(第一篇)Python基础语法
    Python之路(第七篇)Python作用域、匿名函数、函数式编程、map函数、filter函数、reduce函数
  • 原文地址:https://www.cnblogs.com/maomaodesu/p/11889726.html
Copyright © 2011-2022 走看看