2022-08-01 田龙跃 学习笔记
2022/8/1 23:24:11
本文主要是介绍2022-08-01 田龙跃 学习笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
泛型
类型擦除:(编译角度)泛型在编译后全按object类型处理(就是让程序员编写代码是遵守的“规则”:创建对象时建立了规则,以后使用我这个对象时必须遵守我的规则(编码角度))
泛型;标记类型(T-类型 K-key V-value E-element元素 ?-通配符) “暂时不确定是什么类型,用的时候再确认”(类型参数化-你把想要的类型作为参数传给我确定类型)
泛型类/接口:类名
泛型方法:返回值和参数列表,写返回值之前定义泛型<>("声明泛型"),必须配合传参(传的参数是啥类型,泛型就是啥类型)----前提 必须要有泛型声明和返回值;必须要有参数。(泛型方法多数放在非泛型类中)
泛型与继承:
1.父类是泛型类,子类不一定是
2.泛型的声明在类名之后或者在方法名中间
3.父类跟随子类确定泛型的类型
4.在继承后,子类不是泛型类,继承的东西(方法,属性)就是object类型
5.静态泛型方法必须直接声明泛型
适用场景(当类型无法确定时使用)
1.父类(接口中):定义规则,没有明确要求(由子类确定)
2.容器类:存储的数据类型由使用者确定
点击查看泛型基本使用
public interface List <T>{ // static T [] arrays;//创建对象时才可以确定T所以T无法被静态使用(接口中默认静态常量) void add(T data); void add(Integer index,T data);//泛型作为参数 T get(int index);//泛型作为返回值 void change(Integer index,T data); void delete(); void delete(Integer index); }
点击查看泛型实现类
public class SuperArray<T> implements List<T>{//泛型无法创建对象,所以还是要维护Object类型 // 父类类型由子类确定 // 维护一个数组,要考虑的是怎么存 private Object [] array;
点击查看指定类型和泛型方法
SuperArray<Employee> superArray=new SuperArray<>();//创建对象时指定类型 public <T> T getObj(T t){//一定要声明返回值类型为泛型才能叫“泛型”方法 return t; }
点击查看枚举实现单例(内部枚举)
public class Singleton { //声明私有化类对象 private static Singleton singleton; // 私有化构造函数 private Singleton(){} // 提供一个对外的获取单例的方法 public static Singleton getInstance(){ singleton = SingletonHolder.SINGLETON_HOLDER.getSingleton(); return singleton; } // 内部枚举 private enum SingletonHolder{ SINGLETON_HOLDER; // 定义枚举的属性 private final Singleton singleton; // 定义枚举的构造方法进行初始化 SingletonHolder(){ singleton= new Singleton(); } //提过一个获取singleton属性的方法 public Singleton getSingleton() { return singleton; } } //测试 public static void main(String[] args) { Singleton singleton1=Singleton.getInstance(); Singleton singleton2=Singleton.getInstance(); System.out.println(singleton1==singleton2); } }
这篇关于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版本更新