韩顺平0基础学java——第19天

p396-406

final关键字

1.final修饰的为“常量”,需要给初始值。1可以直接定义时赋值,2在构造器中,3在代码块中。

注意静态代码块只能访问静态变量。

2.如果final修饰的关键字是静态的,那就不能在构造器中赋值,只能1定义时,2.在静态代码块中。

        因为构造器不能static,但是静态的在类加载的时候就要生成了,而构造器是在创建对象的时候才调用!

3.final类不能继承,但是可以实例化对象~

4.如果类不是final类,但是含有final方法,则该方法不能重写,但是可以继承。即仍然遵守继承机制。

5.一般来说,如果已经是一个final类了(不能被继承了),里面的方法就不用final了

6.final不能修饰构造器

7.final往往和static搭配,效率更高:不会导致类的加载,底层编译器做了优化 

8.包装类都是final的,不能被继承(如String,Integer,Double)

9.传入参数也可以用final修饰

抽象类

父类的一些方法声明了,但是没有实现,即没有方法体,这个方法就是抽象方法。

当一个类中存在抽象方法时,需要将该类声明为抽象类

设计模式用的比较多

抽象类细节

1.抽象类不能被实例化

2.抽象类不一定要包含abstract方法

3.一旦包含了abstract方法,则必须把类声明为abstract类

4.abstract只能修饰类和方法,不能修饰别的

5.抽象类可以有任意成员(抽象类还是个类)

6.抽象方法不能有方法体

7.如果一个类继承了抽象类,则它必须实现抽象类的所有方法,除非它自己也声明为abstract类

8抽象方法不能使用private、final、和static来修饰,因为这些关键字都是和重写违背的

抽象类最佳实践:模板设计模式

程序执行期间会动态绑定!根据运行类型来找方法。

接口

接口就是给出一些没有实现的方法,封装到一起,到某个类型要使用的时候,在根据具体的需求来把方法写出来。

interface 接口名{

        属性

        方法

}

class 类名 implements 接口名{

        自己属性

        自己方法

        必须实现的接口的抽象方法

}

小结:jdk7之前,接口中所有方法都没有方法体,即都是抽象方法,jdk8之后,接口可以有默认实现方法,要求用default修饰,如default public void kkk(){}。jdk8之后还可以有静态方法

如果一个类implements一个接口,那么必须将该接口的所有方法都实现。

接口的使用细节

应用场景:我要制造飞机,只需要把功能、规格定下来即可,然后让别人实现。(统一一个入口)

细节:

1.接口不能被实例化

2.接口中所有的方法都是public方法(就算你不写它也是public的),接口中的抽象方法可以不用abstract修饰。

3.一个普通类实现接口,就必须将连接接口的所有方法都实现:快捷键alt+enter

4.抽象类实现接口,可以不用实现接口的方法。(即抽象类本身是允许存放抽象方法的!)

5.一个类同时可以实现多个接口.

6.接口中的属性只能是final的,而且是public static final int a = 1;

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

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

相关文章

10-指针进阶——char型,多级指针,void指针,const指针

10-指针进阶——char型,多级指针,void指针,const指针 文章目录 10-指针进阶——char型,多级指针,void指针,const指针一、char 型指针1.1 示例 二、多级指针2.1 示例 三、 指针的万能拆解方法3.1 示例 四、v…

【NI国产替代】500 MSPS 采样率,14 bit 分辨率数据采集盒子

• 双高速高精度数据采集通道 • 支持内外精准触发采样模式 • 丰富的总线控制接口 • 抗干扰能力强 高速采集盒子是一款双通道,具有 500 MSPS 采样率,14 bit 分辨率的高速高精度数据采集设备,其模拟输入带宽为 200 MHz,…

数学模型:操作系统中FCFS、SJF、HRRN算法的平均周转时间比较 c语言

摘 要 研究目的:比较操作系统中进程调度FCFS、SJF、HRRN算法的平均周转时间和带权周转时间的大小关系。 研究方法:在建模分析时,分别举4个进程的例子,1个进程用两个字母分别表示到达时间和执行时间。分两种极端情况&#xff0c…

iOS18:借助 Al,Siri 将获得广泛的知识,以便触发各个应用的功能

iOS18:借助 Al,Siri 将获得广泛的知识,以触发各个应用的功能 预计Siri将成为iOS18中一系列与人工智能相关增强功能的核心。 根据彭博社记者马克古尔曼的一份新报告,可以得知关于苹果智能助手的一些具体升级的新信息。 Siri新的人工智能: …

经典回归模型及Python实现方法

文章目录 1. 引言2. 经典回归模型及Python实现2.1 线性回归 Linear Regression2.2 多项式回归 Polynomial Regression2.3 逻辑回归 Logistic Regression2.4 岭回归 Ridge Regression2.5 套索回归 LASSO Regression2.6 弹性网络回归 Elastic Net2.7 决策树回归 Decision Tree Re…

Linux GNOME 桌面系统音频设置实现

在 Ubuntu 等使用了 GNOME 桌面系统的 Linux 系统中,通过 设置 应用的 声音 面板设置系统的音频相关配置,如下图: 音频设置可以设置的音频选项主要有如下这些: 系统音量:默认不允许将音量提高到 100% 以上&#xff0c…

Java异常机制

1.异常概述和异常处理机制 异常(exception)概述 异常就是程序在运行时出现的意外的,不正常的情况。 若异常产生后没有正确的处理,会导致程序的中断,程序不继续执行,以致造成损失。 2.2 异常处理机制 所以我们在开发中要一套机制来处理各种可能…

计算机网络 —— 网络层(子网掩码和子网划分)

计算机网络 —— 网络层(子网掩码和子网划分) 网络地址转换NAT子网掩码和子网划分举个例子第一步:看类型第二步:从主机号开始比对第三步:去头去尾 我们今天来看子网掩码和子网划分: 网络地址转换NAT 网络…

用于认知负荷评估的集成时空深度聚类(ISTDC)

Integrated Spatio-Temporal Deep Clustering (ISTDC) for cognitive workload assessment 摘要: 本文提出了一种新型的集成时空深度聚类(ISTDC)模型,用于评估认知负荷。该模型首先利用深度表示学习(DRL)…

人工智能在【肿瘤生物标志物】领域的最新研究进展|顶刊速递·24-06-08

小罗碎碎念 本期文献速递的主题是——人工智能在“肿瘤生物标志物”领域的最新研究进展。 重点关注 今天推荐的6篇文献中,第二篇和第三篇是小罗最喜欢的,因为对于临床来说,比较具有实际意义,也和自己的想法很契合。 尤其是第三篇…

每日一题——Python实现PAT甲级1015 Reversible Primes(举一反三+思想解读+逐步优化)

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 我的写法 is_prime函数分析: decimal_to_base函数分析: 主循…

Shell脚本学习_环境变量深入

目录 1.Shell环境变量深入:自定义系统环境变量 2.Shell环境变量深入:加载流程原理介绍 3.Shell环境变量深入:加载流程测试 4.Shell环境变量深入:识别与切换Shell环境类型 1.Shell环境变量深入:自定义系统环境变量 …

旧衣回收小程序开发,轻松回收旧衣物

随着环保理念的增强,回收市场得到了快速发展,吸引了不少年轻人进入到市场中创业。除了传统的废品回收外,旧衣回收也受到了大众的重视,市场规模迅速扩大,大众浪费的衣物也获得了归处。 目前旧衣回收的方式主要是线上与…

makefile与进度条

Linux项目自动化构建工具-make/makefile make是一个命令, makefile是一个文件,保存依赖关系和依赖方法。‘ touch Makefile/makefile mybin:mytest.c//依赖关系 目标文件:依赖文件列表 文件列表的文件之间以空格分隔 gcc -o mybin mytest.…

Shell脚本学习_字符串变量

目录 1.Shell字符串变量:格式介绍 2.Shell字符串变量:拼接 3.Shell字符串变量:字符串截取 4.Shell索引数组变量:定义-获取-拼接-删除 1.Shell字符串变量:格式介绍 1、目标: 能够使用字符串的三种方式 …

linux系统——ping命令

ping命令可以用来判断对远端ip的连通性,可以加域名也可以加公共ip地址 这里发送出56字节,返回64字节

ctfshow-web入门-命令执行(web41_exp与分析)

过滤不严,命令执行 preg_match(/[0-9]|[a-z]|\^|\|\~|\$|\[|\]|\{|\}|\&|\-/i, $c) 过滤掉了数字、字母以及一些符号,之前接触过的无字母 rce 是取反编码再取反,采用不可见字符去绕过正则,但是这里取反符号被过滤掉了&#x…

Kali linux学习入门

Kali linux学习入门 文章目录 Kali linux学习入门Kali Linux简介Kali Linux工具篇Kali Docker安装Docker 更换国内镜像源Kali 安装 docker compose Kali Linux文档篇Kali Linux 社区篇 Kali Linux简介 Kali Linux是专门用于渗透测试linux操作系统,它由BackTrack发展…

软件游戏找不到d3dx9_43.dll怎么办,三分钟教你解决此问题

在现代科技发展的时代,电脑已经成为我们生活中不可或缺的一部分。然而,在使用电脑的过程中,我们可能会遇到一些问题,其中之一就是电脑缺失d3dx943.dll文件。这个问题可能会影响到我们的正常使用,因此了解其原因和解决方…

接口(API)开发,测试工具-apifox

前言 为什么需要接口(API)? 因为不同的平台或系统可能使用不同的技术栈、编程语言或数据格式。API提供了一个标准化的方式,使得这些不同的系统可以相互交换数据和功能调用,实现互操作性 在开发日常的项目交互中,不…