DAY8 Final等

Final关键字

final修饰静态变量,这个变量今后被称为常量, 可以记住一个固定值,并且程序中不能修改了,通常这个值作为系统的配置信息。常量的名称,建议全部大写,多个单词用下划线连接。

    public static final String CARD_TYPE_GOLD = "gold";

final修饰实例变量一般没有意义。

单例类(设计模式)

一个问题通常有n种解法,其中肯定有一种解法是最优的,这个最优的解法被人总结出来了,称之为设计模式。

目的:确保某个类只能创建一个对象

实现步骤:

饿汉式

对象直接创建好了再用

把类的构造器私有。

定义一个类变量记住类的一个对象。

定义一个类方法,返回对象。

懒汉式

用对象才创建

把类的构造器私有。

定义一个静态变量用于存储对象。

提供一个静态方法,保证返回的是同一个对象。

枚举类

枚举类中的第一行,只能写枚举类的对象名 称,且要用逗号隔开。

这些名称,本质是常量,每个常量都记住了枚举类的一个对象。

反编译后 javap .\1.class

场景

枚举类很适合做信息分类和标志,比如键盘的上下左右

抽象类

注意&特点

抽象类的注意事项、特点

抽象类中不一定要有抽象方法,有抽象方法的类必须是抽象类。

类有的成员:成员变量、方法、构造器,抽象类都可以有。
抽象类最主要的特点:抽象类不能创建对象,仅作为一种特殊的父类,让子类继承并实现。

一个类继承抽象类,必须重写完抽象类的全部抽象方法,否则这个类也必须定义成抽象类。

场景

父类知道每个子类都要做某个行为,但每个子类要做的情况不一样,父类就定义成抽象方法,交给子类去重写实现,我们设计这样的抽象类,就是为了更好的支持多态。

模板方法(设计模式)

提供一个方法作为完成某类功能的模板,模板方法封装了每个实现步骤,但允许子类提供特定步骤的实现。

接口类

Java提供了一个关键字interface定义出接口。

JDK8之前只能写常量(final static 赋值)和抽象方法,接口不能创建对象

实现类实现多个接口,必须重写完全部接口的全部抽象方法,否则则需要定义为抽象类。

作用

弥补了类单继承的不足,一个类同时可以实现多个接口,使类的角色更多,功能更强大。

让程序可以面向接口编程,这样程序员就可以灵活方便的切换各种业务实现(更利于程序的解耦合)

接口和抽象类的区别

相关推荐
西瓜本瓜@1 分钟前
在Android开发中实现静默拍视频
android·java·开发语言·学习·音视频
2301_80220193关注我9 分钟前
Parameters参数、增删改标签、事务、typeAliases
java·数据库·windows
听潮阁29 分钟前
【SSM详细教程】-13-SpringMVC详解
java·spring boot·spring·java-ee·tomcat·maven·mybatis
风清扬_jd36 分钟前
Chromium HTML5 新的 Input 类型time对应c++
java·c++·html5
鹿屿二向箔1 小时前
病人跟踪治疗信息管理系统设计与实现
java·spring·mybatis
卡夫卡的熊kfk1 小时前
使用RestTemplate发送post请求,入参是多层嵌套的JSON
java·json
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ1 小时前
mysql 和 java 对应数据类型
java·数据库·mysql
浪漫主义狗1 小时前
JDK源码系列(二)—— ArrayList 和 LinkedList 深度源码解析
java·开发语言·windows·源码
繁依Fanyi1 小时前
ArrayList和linkedList的区别
java·开发语言·算法