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过就输出俩[]空集了。

  • 相关阅读:
    tensorflow 2.0 学习 (十) 拟合与过拟合问题
    tensorflow 2.0 学习 (九) tensorboard可视化功能认识
    tensorflow 2.0 学习 (八) keras模块的认识
    tensorflow 2.0 学习 (七) 反向传播代码逐步实现
    tensorflow 2.0 学习 (六) Himmelblua函数求极值
    tensorflow 2.0 学习 (五)MPG全连接网络训练与测试
    arp协议简单介绍
    Pthread spinlock自旋锁
    线程和进程状态
    内核态(内核空间)和用户态(用户空间)的区别和联系·
  • 原文地址:https://www.cnblogs.com/maomaodesu/p/11889726.html
Copyright © 2011-2022 走看看