码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 泛型的介绍和使用方法


    目录

    一、泛型概述

    二、泛型类

    三、泛型接口

    1.直接在实现类中确定好类型

    2.实现类也写成泛型类

    四、泛型方法

    五、泛型好处

    六、泛型集合

    1.概念

    2.特点


    一、泛型概述

    1. 本质是参数化类型,把类型作为参数传递。

    2. 常见的形式有泛型类、泛型接口、泛型方法。

    3. 语法:     T称为类型占位符,表示一种引用类型。

    4. 好处:

    (1)提高代码的重用性;

    (2)防止类型转换异常,提高代码的安全性。

    二、泛型类

    要先创建一个泛型类:

    ↓↓↓

    1. /**
    2. * 泛型类
    3. * 语法:类名
    4. * T是类型占位符,表示一种引用类型,如果编写多个使用逗号隔开
    5. *
    6. */
    7. public class MyGeneric{
    8. //使用泛型T
    9. //1.创建变量
    10. T t;
    11. //2.作为方法的参数 不知道数据类型,不能new对象
    12. public void show(T t){
    13. System.out.println(t);
    14. }
    15. //3.泛型作为方法的返回值
    16. public T getT(){
    17. return t;
    18. }
    19. }

    然后再使用泛型类创建对象:

    ↓↓↓

     注意:

    1.泛型类只能使用引用类型;

    2.不同泛型类型的对象之间不能相互赋值。

    三、泛型接口

    先写一个泛型接口 MyInterface.java:

    1. /**
    2. * 泛型接口
    3. * 语法:接口名
    4. *
    5. */
    6. public interface MyInterface {
    7. // 注意:不能使用泛型创建静态常量
    8. String name = "zhangsan";
    9. T server(T t);
    10. }

    接口不能实例化,要添加实现类,然后在测试类中实现。

    1.直接在实现类中确定好类型

    2.实现类也写成泛型类

    四、泛型方法

    重在注释      重在注释      重在注释      

    ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 

    五、泛型好处

    1.提高代码的重用性(重写);

    2.防止类型转换异常,提高代码安全性。

    六、泛型集合

    1.概念

    参数化类型、类型安全的集合,强制集合元素的类型必须一致。

    2.特点

    (1)编译时可检查,非运行时抛出异常;

    (2)访问时,不必类型转换(拆箱);

    (3)不同泛型之间引用不能相互赋值,泛型不存在多态。

    具体的源码内容详见(免费下载):https://download.csdn.net/download/yao_yaoya/87187018


    简单粗暴!

    感谢ლ(°◕‵ƹ′◕ლ)!!!

  • 相关阅读:
    详解迭代器的 fail-fast 与 fail-safe 机制
    嵌入式串口转CAN模块详细参数分析
    ldd用于打印程序或库文件所依赖的共享库列表
    spring cloud 微服务
    python爬虫
    2022年安徽省技术创新示范企业奖励补贴标准以及申报条件(附合肥市各地区奖补标准)
    WPF几何绘图(1)
    CCF CSP认证 历年题目自练Day32
    Python-数据爬取(爬虫)
    2022.11.5 英语背诵
  • 原文地址:https://blog.csdn.net/yao_yaoya/article/details/128037057
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号