ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

20220801 第一组 于芮 枚举和泛型

2022-08-01 18:33:43  阅读:121  来源: 互联网

标签:Singleton 定义 于芮 类型 枚举 20220801 泛型 方法


  小白成长记——第二十一天      今天是八月的第一天,也是学习的第二十一天,今天的主要学习内容是枚举和泛型的含义和使用方法,因为刚刚学完面向对象的四个特点,所以现在学习枚举和泛型相对来说没有那么难,比较好理解,但是,还是需要好好学习的,不止今天的知识需要好好学习,每天的知识都需要好好学习,来看一下今天的学习笔记吧!

泛型()
广泛的类型,能够帮助我们明确类型,,将确定类型的工作推迟到创建对象或者调方法的时候,
定义类的时候,不需要考虑数组到底是存什么类型的,创建超级数组对象的时候就把里面要存的数据类型确定下来

泛型的修饰
1.泛型类:把泛型定义在类上,用户在使用类的时候在能把类型确定
具体的使用方法:<>加上一个未知数,通常用T,K,V,E,等大写字母表示
如果一个泛型类,在创建的时候没有指定泛型类型,默认就是object,在使用这个类的时候,去确定泛型类型
2.泛型方法
我们如果只关心某个方法,可以不定义泛型方法,只定义泛型类
泛型方法不一定要在泛型类里
泛型类不一定要有泛型方法
在定义泛型方法时,首先定义泛型类型,定义在方法中间,泛型的使用处之前,
使用泛型方法最好要结合返回值
3.泛型接口


继承关系(泛型类在继承时)
1.父类是一个泛型类,子类不一定是泛型类
2.泛型的声明只是在当前类名后或方法中间,而且声明的泛型是自己的,和其他无关
3.在子类继承父类时,子类泛型和父类泛型都写出来的情况下,父跟子
4.如果在继承时,没有写出任何泛型,当前子类就不是泛型类

在一个泛型类中,尽量不要使用泛型方法
泛型方法多数出现在非泛型类中

静态方法
1.静态方法如果是泛型方法,泛型的声明必须写。
2.因为静态结构是属于类的,不属于某个对象。

类型擦除
为了兼容性,使用原始类型(没有泛型)也是可以的
泛型刚刚出现的时候,还存在大量的不适用泛型的代码。
保证代码的兼容性,有参数化类型的实例传递给设计用于原始类型的方法必须是合法的。
为了保持兼容性,Java泛型中,其实有一种类似伪泛型,因为Java在编译期间,
所有的泛型都会被擦掉。

Java的泛型语法是在编译期这个维度上实现的。
正常来说在生成的字节码文件中,不包含泛型的类型信息的。

在JVM中看到的只是SuperArray,由泛型附加的类型信息对JVM是看不到的。

可以理解为,泛型的本质就是让程序员在编写代码时遵守的一个规则。

1.泛型不能是基本数据类型(原则上来说,数组可以作为泛型,语法角度,不可以
<>里面放的是类名,数组是在编译后的才会生成的一个类)
2.方法重载(原理:类型擦除)
3.多态上

泛型的应用场景
1.父类(接口),骐达的是一个规范的作用,对立面的数据类型没有明确的要求
2.容器类(超级数组,链表,队列,栈)

当类型无法确定时,使用泛型,开发中,我们更多使用是写泛型类或者泛型接口

枚举(enum)
规定这个类的对象的个数
枚举类中,把需要应到的对象声明出来,然后写对应的构造器,可以有set,get方法

枚举的应用(JDK1.5以后在switch case中可以用)

枚举的静态导入(全类名)*代表导入枚举类的全部对象

枚举类的命名规则所有使用enum结尾

枚举类单例模式
class Singleton {

// 私有化构造器
private Singleton() {}

// 提供公有的获取实例的静态方法
public static Singleton getInstance(){
return SingletonHolder.INSTANT.instant;
}

// 声明一个枚举类(内部类)
private enum SingletonHolder{

INSTANT;

private final Singleton instant;

SingletonHolder() {
instant = new Singleton();
}
}
}

枚举的优势
1.int类型不具备安全性,假如某个程序员在定义int时少写了个final,
会存在被他人修改的风险。枚举类,它天然就是一个常量类
2.使用int类型,语义不够明确

多线程入门
为了完成特定的任务,用某种编程语言写一个软件(程序)。
程序要想运行就必须加载到内存中执行。

在执行程序的时候,实时的指令加载到cpu内存的指令寄存器中执行。
执行过程中产生的数据要加载到数据寄存器中。ALU负责进行算术逻辑运算的操作。

系统总线(System Bus):连接计算机系统的主要组件,用来降低成本和促进模块化。
可以通过软件来控制硬件。

进程:
一个正在执行中的程序就是一个进程,系统就会为这个进程发配独立的【运行资源】
进程是程序的一次执行过程,它有自己的生命周期
它会在启动程序时产生,运行程序时存在,关闭程序时消亡

   这就是今天的全部学习内容了,还讲了一点点的多线程入门,很期待明天学习的多线程,听说很难,但是,一定要有逆流而上的勇气。

标签:Singleton,定义,于芮,类型,枚举,20220801,泛型,方法
来源: https://www.cnblogs.com/dijiuzu/p/16541415.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有