栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2022.3.23java学习记录

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2022.3.23java学习记录

学习内容:
    单例设计模式final 关键字抽象类接口

学习时间:

提示:这里可以添加计划学习的时间

例如:

周一至周五晚上 7 点—晚上9点周六上午 9 点-上午 11 点周日下午 3 点-下午 6 点


学习产出:

10.4.2 什么是单例模式

单例(单个的实例)
1.所谓类的单例设计模式,就是采取一 定的方法保证在整个的软件系统中,对某
个类只能存在一个对象实例, 并且该类只提供一个取得其对象实例的方法
2. 单例模式有两种方式: 1)饿汉式2)懒汉式

10.4.3 单例模式应用实例

演示饿汉式和懒汉式单例模式的实现。
步骤如下:
1)构造器私有化=》防止直接new 
2)类的内部创建对象
3)向外暴露一个静态的公共方法。getnstance

10.4.4 饿汉式 VS 懒汉式

1.二者最主要的区别在于创建对象的时机不同:饿汉式是在类加载就创建了对象实例,
而懒汉式是在使用时才创建。
2.
饿汉式不存在线程安全问题,懒汉式存在线程安全问题。(后面学习线程后,会完善|
一把)
3. 饿汉式存在浪费资源的可能。因为如果程序员一个对象实例都没有使用,那么饿汉
式创建的对象就浪费了,懶汉式是使用时才创建,就不存在这个问题。
4. 在我们javaSE标准类中,java.lang.Runtime就是经典的单例模式。

10.5 final 关键字
10.5.1 基本介绍

| Final01.java
final中文意思:最后的,最终的
final 可以修饰类、属性、方法和局部变量
在某些情况下,程序员可能有以下需求,就会使用到final:
1)当不希望类被继承时,可以用final修饰. [索例演示]
2)当不希望父类的某个方法被子类覆盖/重写(override)时可以用final关键字
修饰。[ 案例演示访问修饰符final返回类型方法名]
3)当不希望类的的某个属性的值被修改可以用final修饰. [案例演示public
final double TAX RATE=0.08]
4)当不希望某个局部变量被修改,可以使用final修饰[案例演示: final double
TAX RATE=0.08 ]

10.5.2 final 使用注意事项和细节讨论

1) final修饰的属性又叫常量,一般用XX XX XX来命名
2) final修饰的属性在定义时,必须赋初值,并且以后不能再修改,赋值可以在如
下位置之一[选择一个位置赋初值即可] :
①定义时:如public final double TAX RATE=0.08;
②在构造器中
③在代码块中。
3)如果final修饰的属性是静态的,则初始化的位置只能是
①定义时②在静态代码块不能在构造器中赋值。
4) final类不能继承, 但是可以实例化对象。[A2类]
5)如果类不是final类,但是含有final方法, 则该方法虽然不能重写,但是可
以被继承。[A3类]

10.6 抽象类
10.6.3 抽象类的介绍

1)用abstract关键字来修饰一个类时,这个类就叫抽象类
访问修饰符abstract类名{
2)用abstract关键字来修饰一个方法时,这个方法就是抽象方法
访问修饰符abstract返回类型方法名(参数列表)://没有方法体
3)抽象类的价值更多作用是在于设计,是设计者设计好后,让子类继承并实现
抽象类(
4)抽象类,是考官比较爱问的知识点,在框架和设计模式使用较多

10.6.4 抽象类使用的注意事项和细节讨论

1)抽象类不能被实例化[举例]
2)抽象类不一 定要包含abstract方法。 也就是说,抽象类可以没有abstract方法[举例]
3) 一旦类包含了abstract方法,则这个类必须声明为abstract [说明]
4) abstract只能修饰类和方法,不能修饰属性和其它的。[说明]
5)抽象类可以有任意成员[抽象类本质还是类] ,比如:非抽象方法、
构造器、静态属性等等[举例]
6)抽象方法不能有主体,即不能实现.如图所示
7)如果一个类继承了抽象类,则它必须实现抽象类的所有抽象方法,
除非它自己也声明为abstract类。[举例 A类,B类,C类]

10.8 接口
10.8.3 基本介绍

接口就是给出一些没有实现的方法,封装到一 起,到某个类要使用的时候,在根据具体情况把这些
方法写出来。语法:
interface接口名{
//属性
//抽象方法
class类名implements接口{
自己属性:
自己方法;
必须实现的接口的抽象方法
小结:接口是更加抽象的抽象的类,抽象类里的方法可以有方法体,接口里的所有方法都没有
方法体[jdk7.0]。接口体现了程序设计的多态和高内聚低偶合的设计思想。
特别说明: Jdk8.0后接口类可以有静态方法,默认方法,也就是说接口中可以有方法的具体
实现



10.8.5 注意事项和细节



10.8.7 实现接口 vs 继承类


10.8.8 接口的多态特性

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/777675.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号