美文网首页
挑战全网最简单java泛型类思想解释

挑战全网最简单java泛型类思想解释

作者: 王魔王 | 来源:发表于2020-02-16 10:52 被阅读0次

泛型一直以来都是一个比较难以讲解清楚的知识点,
本篇帖子旨在能够让初学者一次听懂泛型,理解泛型

包装箱大家都见过吧?


包装箱

这是一个生产出来的包装箱,但是箱子里将来要装什么,没有人知道,我们只知道这个箱子里将来要装东西

那么,当我们使用箱子装东西的时候,要往箱子上贴上标签,这样我们就知道箱子里装的是什么东西,将来取出来的时候也一定是该物品(杠精不要抬杠说标签会贴错)

例如,箱子上贴上手机的标签

箱子上贴了手机的标签

这样的话,箱子里装的一定是手机,将来取出来也一定是手机

现在给箱子贴上驴的标签

箱子上贴了驴的标签

那么箱子里装的一定是驴,将来取出来的也一定是驴

不要怀疑,我这个箱子什么都能装进去

好了,这就是生活中的泛型

那么在代码中怎么使用泛型类呢?

泛型类的定义


/**
 * java中泛型类语法就是这样写的
 * 在类的后面跟上一个<E>
 * @param <E>
 */
public class Test<E> {
    private E element;//这个element就是箱子里的元素(东西),现在只是生产箱子,箱子里将来要装什么元素(东西),不清楚
                      //这个E将来是什么类型(东西),只能在将来贴上标签后才知道

    /**
     * 暴露get方法,获取箱子里的元素(东西)
     * @return
     */
    public E getElement() {
        return element;
    }
}

接下来,我们把需要往箱子里装的东西(类)定义好
定义手机类

/**
 * 手机类
 */
public class Mobile {
    /**
     * 打电话的方法
     */
    public void call(){
        Log.d("====", "call: 手机可以打电话");
    }
}

定义驴类

/**
 * 驴类
 */
public class Donkey {
    /**
     * 驴叫的方法
     */
    public void aoao(){
        Log.d("====", "aoao: 驴可以嗷嗷叫");
    }
}

现在开始使用箱子(给箱子贴上标签)

本次给箱子贴手机的标签,即把泛型声明为Mobile类

      //箱子上贴了手机的标签
       Test<Mobile> mobileTest =new Test<>();
      //箱子里获取出来的是手机
        Mobile element = mobileTest.getElement();
      //因为获取的出来的是手机,所以可以调用手机的打电话方法
        element.call();

本次给箱子贴驴的标签,即把泛型声明为Donkey类

        //箱子贴上了驴的标签
        Test<Donkey> donkeyTest=new Test<>();
      //箱子里获取出来的是驴
        Donkey element1 = donkeyTest.getElement();
        //可以调用驴叫的方法
        element1.aoao();

好了,泛型类的思想讲完了。
代码不多,思想是关键。
帖子不长,一定要仔细看。

相关文章

  • 挑战全网最简单java泛型类思想解释

    泛型一直以来都是一个比较难以讲解清楚的知识点,本篇帖子旨在能够让初学者一次听懂泛型,理解泛型 包装箱大家都见过吧?...

  • Java编程思想—泛型(1)

    Java编程思想---泛型(1) 泛型 简单使用 三个Holder进行对比,引出类型参数的概念 元组类库 前面的例...

  • 泛型

    与Java泛型相同,Kotlin同样提供了泛型支持。对于简单的泛型类、泛型函数的定义,Kotlin 与 Java ...

  • Java泛型教程

    Java泛型教程导航 Java 泛型概述 Java泛型环境设置 Java泛型通用类 Java泛型类型参数命名约定 ...

  • Java泛型

    参考:Java知识点总结(Java泛型) 自定义泛型类 自定义泛型接口 非泛型类中定义泛型方法 继承泛型类 通配符...

  • 2019-10-12:1_5

    /** * java5支持泛型类 * * 简单的泛型类和接口 */ public class p1_5_1 { /...

  • JDK1.5后增加了泛型,那么为什么要有泛型呢?我们该如何自定义

    本篇主要讲解java泛型的理解、集合中简单使用泛型、自定义泛型结构(包括类、接口、方法)。 一、什么是泛型? 通俗...

  • java泛型中类型擦除的一些思考

    java泛型 java泛型介绍 java泛型的参数只可以代表类,不能代表个别对象。由于java泛型的类型参数之实际...

  • JAVA 核心笔记 || [xxx] 泛型

    泛型 JAVA 的参数化类型 称为 泛型 泛型类的设计 Learn12.java 运行

  • 想理解泛型吗?看这一篇就够了!

    一、前言二、泛型类2.1 概述Java中泛型使用情况大致包括三种:泛型类、泛型接口、泛型方法 本节演示泛型类。 2...

网友评论

      本文标题:挑战全网最简单java泛型类思想解释

      本文链接:https://www.haomeiwen.com/subject/gflpfhtx.html