当前位置: 首页 > news >正文

DAY8 Final等

Final关键字

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

    public static final String CARD_TYPE_GOLD = "gold";

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

单例类(设计模式)

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

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

实现步骤:

饿汉式

对象直接创建好了再用

把类的构造器私有。
定义一个类变量记住类的一个对象。
定义一个类方法,返回对象。

懒汉式

用对象才创建

把类的构造器私有。
定义一个静态变量用于存储对象。
提供一个静态方法,保证返回的是同一个对象。

枚举类

枚举类中的第一行,只能写枚举类的对象名 称,且要用逗号隔开。
这些名称,本质是常量,每个常量都记住了枚举类的一个对象。

反编译后 javap .\1.class

场景

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

抽象类

注意&特点

抽象类的注意事项、特点
抽象类中不一定要有抽象方法,有抽象方法的类必须是抽象类。
类有的成员:成员变量、方法、构造器,抽象类都可以有。
抽象类最主要的特点:抽象类不能创建对象,仅作为一种特殊的父类,让子类继承并实现。
一个类继承抽象类,必须重写完抽象类的全部抽象方法,否则这个类也必须定义成抽象类。

场景

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

模板方法(设计模式)

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

接口类

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

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

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

作用

弥补了类单继承的不足,一个类同时可以实现多个接口,使类的角色更多,功能更强大。
让程序可以面向接口编程,这样程序员就可以灵活方便的切换各种业务实现(更利于程序的解耦合)

接口和抽象类的区别


http://www.mrgr.cn/news/48462.html

相关文章:

  • DDR Study - Basic Understanding
  • 一个月学会Java 第12天 剖析static关键字与普通代码块和静态代码块还有final关键字
  • 基于STM32的车牌识别系统
  • 【React】React18核心源码解读
  • 什么电容笔好用?2024双11盘点入手不亏的五大宝藏平替电容笔 !
  • 第十四章 RabbitMQ延迟消息之延迟队列
  • 详细学习 pandas 和 xlrd:从零开始
  • 实测9款AI文件助手!原来最好用的并不是全网称赞的谷歌NotebookLM...
  • 京准:时间频率(北斗授时设备)助力广电网络
  • Unity的Compute Shader如何进行同步?
  • JVS低代码轻应用是什么?是如何拼装的?这篇文章讲的非常详细
  • Docker 教程一(简介)
  • NVM 切换Node.js版本工具
  • 家政行业怎么运营
  • 【从零开始的LeetCode-算法】3158.求出出现两次数字的 XOR 值
  • 2024骨传导耳机推荐:五款耐用跑步骨传导耳机!贴心附带选购技巧~
  • 2024双11有哪些值得入手的好物?2024年双十一好物推荐
  • 2024年重要的AI内容总结与梳理,多模型思维链及模型,重要文章及AI学术总结
  • 单服务器基于 Nginx 负载均衡 + Docker Compose 提高并发量
  • 界面控件DevExpress中文教程 - 如何拓展具有AI功能的文本编辑器(二)