当前位置: 首页 > news >正文

JAVA基础(四十九)——自定义泛型

一、目录

  • 自定义泛型类介绍
  • 自定义泛型类细节
  • 自定义泛型接口介绍
  • 自定义泛型接口细节

二、自定义泛型类介绍

基本语法:
class 类名<T, R…>{//也可以是接口
成员
}

三、自定义泛型类细节

  1. 普通成员可以使用泛型(属性、方法)。
  2. 使用泛型的数组,不能初始化。(因为数组在new的时候,不能确定泛型的类型,所以就无法开辟空间)
  3. 静态方法中不能使用类的泛型。(因为静态是和类相关的,在类加载时,对象还没有创建,所以,如果静态方法和静态属性使用了泛型,JVM就无法完成初始化)
  4. 泛型类的类型,是在创建对象时确定的。(因为创建对象时,需要指定确定类型)
  5. 如果在创建对象时,没有指定类型,默认喂Object。
class Tiger<T,R, M>{
    String name;
    T t;
    R r;
    M m;
    M m1[];

    public Tiger(String name, T t, R r, M m) {
        this.name = name;
        this.t = t;
        this.r = r;
        this.m = m;
    }
}

四、自定义泛型接口介绍

基本语法:

interface 接口名<T, R…>{}

五、自定义泛型接口细节

  1. 接口中,静态成员也不能使用泛型。
  2. 泛型接口的类型,在继承接口或者实现接口时确定。
  3. 没有指定类型,默认为Object。

相关文章:

  • MySQL中的不等于
  • 【Redis】Redis高级:主从
  • 二进制方式安装k8s高可用集群(一)
  • Exception in thread main org.apache.ibatis.exceptions.PersistenceException:报错解决
  • mysql 数据库使用分享
  • @NoArgsConstructor和@AllArgsConstructor,@Builder
  • 比较Hive数据库与MySQL数据库
  • PMP每日一练 | 考试不迷路-9.26(包含敏捷+多选)
  • 【Linux修炼】1.常见指令(上)
  • 文件上传-- Web渗透
  • Redis:13-Redis持久化之RDB
  • 洛谷:P6062 [USACO05JAN]Muddy Fields G
  • 七、手把手教你搭建SpringCloudAlibaba之Sentinel实现流量控制
  • vue3 创建vue3模板
  • js 导出 excel
  • 【React系列】如何构建React应用程序
  • 【刷算法】求1+2+3+...+n
  • Android 架构优化~MVP 架构改造
  • css选择器
  • ES6核心特性
  • express + mock 让前后台并行开发
  • iOS小技巧之UIImagePickerController实现头像选择
  • JS基础之数据类型、对象、原型、原型链、继承
  • LeetCode18.四数之和 JavaScript
  • Linux链接文件
  • scala基础语法(二)
  • Shadow DOM 内部构造及如何构建独立组件
  • 不上全站https的网站你们就等着被恶心死吧
  • 大整数乘法-表格法
  • 服务器之间,相同帐号,实现免密钥登录
  • 给github项目添加CI badge
  • 判断客户端类型,Android,iOS,PC
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 携程小程序初体验
  • 做一名精致的JavaScripter 01:JavaScript简介
  • ###STL(标准模板库)
  • #Linux(权限管理)
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (分布式缓存)Redis哨兵
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (一)u-boot-nand.bin的下载
  • (一)WLAN定义和基本架构转
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .NET 设计模式初探
  • .net下的富文本编辑器FCKeditor的配置方法
  • .NET中GET与SET的用法
  • /var/spool/postfix/maildrop 下有大量文件
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...
  • @Pointcut 使用
  • [ 云计算 | AWS 实践 ] Java 如何重命名 Amazon S3 中的文件和文件夹
  • [\u4e00-\u9fa5] //匹配中文字符
  • [20150904]exp slow.txt
  • [acwing周赛复盘] 第 94 场周赛20230311
  • [APUE]进程关系(下)
  • [CISCN2019 华北赛区 Day1 Web2]ikun