DAY8 Final等

news2024/11/20 19:37:42

Final关键字

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

    public static final String CARD_TYPE_GOLD = "gold";

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

单例类(设计模式)

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

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

实现步骤:

饿汉式

对象直接创建好了再用

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

懒汉式

用对象才创建

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

枚举类

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

反编译后 javap .\1.class

场景

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

抽象类

注意&特点

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

场景

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

模板方法(设计模式)

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

接口类

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

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

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

作用

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

接口和抽象类的区别

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2213878.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PaddleOCR的包装生产日期识别_随记1

一、前言 项目难点 没有训练数据图像质量层次不齐: 角度倾斜、图片模糊、光照不足、过曝等问题严重 二.、环境搭建 本任务基于Aistudio完成, 具体环境如下: 操作系统: LinuxPaddleOCR: PaddleOCR_2.7text_renderer: masterpaddlepaddle-gpu2.6.0cuda版本是11.8,…

量化投资学习

1:投资定义就是付出一定的代价,期望能够得到一定汇报,可能会出现没有回报 2:投资分析流派 2.1:宏观策略分析法:从宏观经济大方向入手,再应用到具体股票也叫自上而下的研究方法,需要理解这个趋势的核心驱动…

TS中的接口、泛型、自定义类型 与vue3的使用

泛型的使用场景: 当我们定义了一个对象时,在多次传值的过程中,其对象中的属性值被更改了,以至于后期拿不到我们需要的数据。 举个例子,当我们使用person.name时,是可以使用的。但是多次传递之后&#xff…

讯方·智汇云校华为ICT大赛赛前辅导直播安排

华为ICT大赛赛前辅导直播安排 网络赛道在“智汇云校”视频号上观看。 直播时间: 网络:2024.10.14-10.15-10.17-10.18-10.21-10.23-10.25-10.28-10.29-10.30-11.1-11.4-11.5-11.6,每晚19:30-22:00 安全:2024…

【Next.js 入门教程系列】05-数据库

原文链接 CSDN 的排版/样式可能有问题,去我的博客查看原文系列吧,觉得有用的话, 给我的库点个star,关注一下吧 上一篇【Next.js 入门教程系列】04-构造 API 数据库 本篇包括以下内容: Setting up PrismaDefining data modelsCreat…

pinia学习笔记(1.0)

首先贴出官网地址:开始 | Pinia pinia作为Vue3项目中常用的状态管理工具,正逐渐取代vuex,现从0到1自己搭建pinia仓库。 首先,安装pinia,使用包管理器工具(npm,pnpm,yarn,Bun等都可以) 安装成…

QGIS如何在正射影像中获得绘制线段的长度信息||QGIS如何获取绘制点的经纬度(如何生成WKT属性)并且导出为CSV文件

QGIS如何在正射影像中获得绘制线段的长度信息 前置条件: 导入正射影像和绘制完需要计算长度的绘制线段后 1.检查菜单栏是否有数据处理(processing)按键,如果没有的话请根据以下链接打开processing工具箱:https://bl…

微服务架构 --- Nacos的项目实战操作

目录 一.什么是Nacos? 二.什么是注册中心? 1.注册中心的定义: 2.为什么需要使用注册中心? 3.注册中心原理: 三.Nacos的使用: 1.安装与启动Nacos: 2.集成 Nacos 服务注册与发现&#xff…

邀你一起共建谷歌封号申诉共享库

大家好,我是牢鹅!相信很多老粉是通过谷歌封号的三篇文章《聊聊「谷歌8.3」账号封禁解析与应对思路 》和《聊聊谷歌「高风险」封号问题解析与应对思路》、《聊聊这半年来,谷歌为何频繁封号?》关注牢鹅的,在这将近半年的…

架构设计笔记-13-层次式架构设计理论与实践

目录 知识要点 综合知识 案例分析 1.SSM框架 2.MVC模式,XML 3.MVC架构脆弱性 4.容器技术的优势 5.对象关系映射ORM技术 知识要点 一般来说,架构可以分为表现层、中间层和持久层三个层次。 表现层:表现层主要负责接收用户的请求&…

【论文翻译】TITAN:用于交通流量预测的异构专家混合模型

题目A TIME SERIES IS WORTH FIVE EXPERTS: HETEROGENEOUS MIXTURE OF EXPERTS FOR TRAFFIC FLOW PREDICTION论文链接https://arxiv.org/pdf/2409.17440源码地址https://github.com/sqlcow/TITAN(作者说论文被接受后,代码将更新) 摘要 准确的…

API项目4:开发SDK

面临另一个问题 作为开发者,每次调用接口都需要自己生成时间戳,编写签名算法,生成随机数等等,这些都是相当繁琐的工作。 因此,要想办法让开发者能够以最简单的方式调用接口。开发者只需要关心传递哪些参数以及他们的…

如何通过计算巢在阿里云一键部署FlowiseAI

什么是FlowiseAI FlowiseAI 是一个开源的低代码开发工具,专为开发者构建定制的语言学习模型(LLM)应用而设计。 通过其拖放式界面,用户可以轻松创建和管理AI驱动的交互式应用,如聊天机器人和数据分析工具。 它基于Lang…

网站分享 | 六个插件搜索下载网站

网站分享: 今天分享几个搜索插件的网站。 🔧 Chrome Web Store —— 官方插件库,选择最多 谷歌官方的 Chrome 插件商店,拥有丰富的插件供你选择。无论你是办公党、学生党,还是娱乐爱好者,这里都能找到提…

第 4 章:Vue 中的 ajax

1. 解决开发环境 Ajax 跨域问题 vue脚手架配置代理 原理图: 1.1 方法一 在vue.config.js中添加如下配置: devServer:{proxy:"http://localhost:5000" // 这个5000 是请求目标的端口号 }说明: 优点:配置简单&…

杰理AC632N---发射功率问题

AC632N的发射功率SDK默认0dbm左右,在实际做产品时,如果使用SDK默认的发射功率,则测试到的发射功率达不到规格书上面的8dbm. 查看代码流程发现SDK中修改发射功率的文职如下: 修改到level 10 则是最大功率8dbm , 使用频谱仪可以测得…

OpenAI 最新发布的 o1 模型在 ARC-AGI-Pub 数据集上的测试结果与分析

在过去的24小时内,我们有幸获得了 OpenAI 新发布的 o1-preview 和 o1-mini 模型的使用权限。这些模型经过特别训练,旨在模拟推理过程,并在给出最终答案之前给予更多时间生成和修正推理步骤。 成百上千的人都在问,o1 在 ARC 奖项上…

linux线程 | 线程的控制(一)

前言:本节内容为线程的控制。在本篇文章中, 博主不仅将会带友友们认识接口, 使用接口。 而且也会剖析底层,带领友友们理解线程的底层原理。 相信友友们学完本节内容, 一定会对线程的控制有一个很好的把握。 那么&#…

Gin框架官方文档详解03:HTML渲染

官方文档:https://gin-gonic.com/zh-cn/docs/ 注:强烈建议没用过Gin的读者先阅读第一节:第一个Gin应用。 目录 一、简单渲染二、使用不同目录下名称相同的模板三、自定义模板渲染器四、自定义分隔符五、自定义模板函数六、总结 一、简单渲染 …

数通--5

一、链路聚合 背景:带宽不够,加线,但是stp判断是环路,阻塞,等于没加线。通过链路聚合解决(如果我把千兆换成万兆,老子有钱任性的话,没得说) 现在我要的不是备份而是带宽…