2022-08-01 第十组 石晓荟
2022/8/1 23:22:57
本文主要是介绍2022-08-01 第十组 石晓荟,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
JAVA高级
重点
一.枚举
二. 泛型
知识点
一.枚举
定义枚举类的格式: 修饰符 enum 枚举名称{ 第一行都是罗列枚举类实例的名称。 } enum Season{ SPRING , SUMMER , AUTUMN , WINTER; } 枚举的特征: 枚举类都是继承了枚举类型:java.lang.Enum 枚举都是最终类,不可以被继承。 构造器都是私有的,枚举对外不能创建对象。 枚举类的第一行默认都是罗列枚举对象的名称的。 枚举类相当于是多例模式。 选择常量做信息标志和分类: 虽然可以实现可读性,但是入参值不受约束,代码相对不够严谨。 枚举做信息标志和分类: 代码可读性好,入参约束严谨,代码优雅,是最好的信息分类技术!建议使用!
二.泛型概述
泛型概述: 是JDK5中引入的特性,可以在编译阶段约束操作的数据类型,并进行检查。 泛型的格式:<数据类型>; 注意:泛型只能支持引用数据类型。 集合体系的全部接口和实现类都是支持泛型的使用的。 泛型的好处: 统一数据类型。 把运行时期的问题提前到了编译期间,避免了强制类型转换可能出现的异常,因为编译阶段类型就能确定下来。泛型类的概述
1.泛型类
泛型类的概述: 定义类时同时定义了泛型的类就是泛型类。 泛型类的格式:修饰符 class 类名<泛型变量>{ } 范例:public class MyArrayList<T> { } 此处泛型变量T可以随便写为任意标识,常见的如E、T、K、V等 作用:编译阶段可以指定数据类型,类似于集合的作用 泛型类的原理: 把出现泛型变量的地方全部替换成传输的真实数据类型
2. 泛型方法
泛型定义在方法的修饰符和返回值类型之间 格式: 修饰符<泛型> 返回值类型 方法名(参数列表(使用泛型)) { 方法体; } 含有泛型的方法,在调用方法的时候确定泛型的数据类型 传递什么数据类型的参数,泛型就是什么类型
3. 泛型接口
含有泛型的接口,第一种使用方式: 定义接口的实现类,实现接口, 指定接口的泛型 public interface Iterator<E> { E next(); } Scanner类实现了Iterator接口,并指定接口的泛型为String, 所以重写的next方法泛型默认为 String public final Scanner implements Iterator<String> { public String next(){} } 含有泛型的接口第二种使用方式: 接口使用什么泛型,实现类就使用什么泛型,类跟着接口走 就相当于定义了一个含有泛型的类, 创建对象的时候确定泛型的类型 public interface List<E> { boolean add(E e); E get(int index); } public class ArrayList<E> implements List<E> { public boolean add(E e) {} public E get(int index) {} } 通配符: 当使用泛型类或者接口时, 传递的数据中,泛型类型不确定,可以通过通配符<?>表示。 但是一 旦使用泛型的通配符之后,只能使用Object类中的共性方法, 集合中元素自身方法无法使用。 通配符基本使用 泛型的通配符: 不知道使用什么类型来接收的时候,此时可以使用?,?表示未知通配符,代表 任意的数据类型 此时只能接收数据 ,不能往集合中存储数据 使用方式 不能创建对象使用只能作为方法的参数使用
这篇关于2022-08-01 第十组 石晓荟的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-22[开源]10.3K+ Star!轻量强大的开源运维平台,超赞!
- 2024-11-21Flutter基础教程:新手入门指南
- 2024-11-21Flutter跨平台教程:新手入门详解
- 2024-11-21Flutter跨平台教程:新手入门与实践指南
- 2024-11-21Flutter列表组件教程:初学者指南
- 2024-11-21Flutter列表组件教程:新手入门指南
- 2024-11-21Flutter入门教程:初学者必看指南
- 2024-11-21Flutter入门教程:从零开始的Flutter开发指南
- 2024-11-21Flutter升级教程:新手必读的升级指南
- 2024-11-21Flutter升级教程:轻松掌握Flutter版本更新