days14--泛型

Posted 安小猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了days14--泛型相关的知识,希望对你有一定的参考价值。

泛型:
表示所有类型

提供了编译时类型安全检测机制,允许在编译时期检测到非法数据类型
本质就是参数类型化,没有调用/使用之前可以表示所有的数据类型(形参),调用/使用时给上具体的数据类型(实参);

格式: <标识>:标识可以随便给,常用E,T,K,V
<标识1,标识2…标识n>:标识可以有多个,以逗号分割

注意: 在具体调用时给定的类型可以看成实参,实参只能是引用数据类型(类)

泛型方法:

格式:
public static 泛型 返回值类型(参数){}
public 泛型 返回值类型(参数){}

泛型类:

格式: public class 类名<泛型>{}

注意: 可以再定义泛型方法
类中泛型可以能多个,多个泛型都是独立的

泛型接口

格式: public interface 接口<泛型>{}

注意: 可以再定义泛型方法 类中泛型可以有多个,多个泛型都是独立的
实现接口时,接口没有指定泛型,所有方法上的泛型都会被Object替换
实现接口时,接口指定泛型,泛型方法上的泛型还是T,使用泛型的方法被指定的数据类型替换

注意: 没有指定泛型,泛型会被Object替换(多态)
泛型不能指定基本数据类型,可以给基本数据类型的值
泛型没有使用之前指所有的引用数类型(本质就是一个一个的实体类),而实体类都直接或间接继承Object(多态)

可变参数

概述: 可变参数就是方法的参数个数可以发生变化

格式:修饰符 返回值类型 方法名(数据类型…变量名){}
范例:public static void sum(int…i)

注意: 可变参数其实就是一个集合
如果方法中有多个参数,并包含可变参数,可变参数放在最后
不能同时使用多个可变参数

以上是关于days14--泛型的主要内容,如果未能解决你的问题,请参考以下文章

JAVA零基础小白入门上手教程day15-泛型&File

Java 泛型泛型用法 ( 泛型类用法 | 泛型方法用法 | 泛型通配符 ? | 泛型安全检查 )

TypeScript 入门14.泛型

Java 泛型泛型简介 ( 泛型类 | 泛型方法 | 静态方法的泛型 | 泛型类与泛型方法完整示例 )

Kotlin学习手记--泛型泛型约束泛型型变星投影泛型擦除内联特化

java泛型泛型的内部原理:类型擦除以及类型擦除带来的问题