Java入门:11.抽象类,接口,instanceof,类关系,克隆
1 JDK中的包
-
JDK = JRE + 开发工具集(javac.exe)
-
JRE = JVM + java类库
-
JVM = java 虚拟机
-
jdk中自带了许多的包(类) , 常用的有
-
java.lang
该包中的类,不需要引用,可以直接使用。 例如:Object , System , String -
java.util
-
java.sql
-
java.net
-
java.io
-
java.text
-
2 抽象方法与抽象类
2.1 抽象方法
-
抽象方法,就是不具体的方法。
-
语法而言:哪里不具体? 没有方法体,具体的执行操作不知道
由abstract关键字修饰,没有方法体的方法,称为抽象方法
public void test1(){} public abstract void test1();
逻辑而言:哪里不具体呢? 只清楚基本规则规范,但不确定具体的实现。
-
抽象方法怎么用?
-
抽象方法不能直接调用
-
抽象方法必须被子类重写,实际使用的是子类重写的方法。(抽象方法可以作为规则)
抽象方法不能被private修饰 ,不能被final修饰, 不能被static修饰
-
-
抽象方法必须写在抽象类或接口中
2.2 抽象类
-
由abstract关键字修饰的类,称为抽象类
public class A{} public abstract class B{}
抽象类也是类,可以有构造方法,普通属性,普通方法 和 抽象方法
-
抽象类不能创建对象
-
抽象类的主要作用就是定义抽象方法。
-
抽象类必须被子类继承使用,并且子类要重写抽象类中的所有抽象方法,否则子类也是一个抽象类
-
抽象类中可以不包含抽象方法,但意义不大。
3 接口
-
接口是一个特殊的抽象类
-
接口中只能有抽象方法和静态的公共常量,没有普通方法 ,也没有构造方法,不能创建对象
-
接口使用interface关键字定义
class A{} abstract class B{} interface C{}
接口也必须被子类继承使用,子类继承接口称为 实现接口, 使用implements关键字完成类与接口的实现关系,子类被称为实现类
interface A{} class B implements A{}
子类实现接口后,需要重写接口中的所有抽象方法,否则子类也是抽象类
-
子类可以实现多个接口
interface A{} interface B{} class C implements A , B{}
-
接口之间也可以继承,并支持多继承
interface A{} interface B{} interface C extends A , B{}
扩展
-
接口中的所有方法都是公共的抽象方法, 可以省略 public abstract
-
接口中的所有属性都是公共的静态常量属性,可以省略public static final
interface A{void t1(); //public abstract void t1();int i = 10 ; //public static final int i = 10 ;
}
相关文章:

Java入门:11.抽象类,接口,instanceof,类关系,克隆
1 JDK中的包 JDK JRE 开发工具集(javac.exe) JRE JVM java类库 JVM java 虚拟机 jdk中自带了许多的包(类) , 常用的有 java.lang 该包中的类,不需要引用,可以直接使用。 例如࿱…...

【软件部署安装】OpenOffice转换PDF字体乱码
现象与原因分析 执行fc-list查看系统字体 经分析发现,linux默认不带中文字体,因此打开我们本地的windows系统的TTF、TTC字体安装到centos机器上。 安装字体 将Windows的路径: C:\Windows\Fonts 的中文字体,如扩展名为 TTC 与TT…...

工程师 - 开源硬件公司Adafruit介绍
https://www.adafruit.com/ https://github.com/adafruit 开源硬件公司 Adafruit 的发展历程 如果你是一名创客(Maker),那么你肯定听过 Adafruit;如果你在项目中使用过 Arduino,那么你应该也会知道 Adafruit。假如你没…...

PostgreSQL学习笔记五:数据库基本操作
在 PostgreSQL 中,您可以执行一系列基础操作来管理数据库、备份和恢复数据。以下是一些常用的命令和步骤: 创建数据库 使用以下命令创建新数据库: CREATE DATABASE database_name;您也可以在创建时指定数据库所有者和其他参数:…...

住房公积金 计算器-java方法
计算了一下房贷压力,以全额公积金贷款为例,贷款四十万,等额本金方式还款,房贷利率为2.85%,基本情况就是如下: 还款总额达到 提前还款的好处 按三十年计算,如果第一年借用亲朋好友的钱&#x…...

Spring-Smart-DI
参考文章 作用 用注解的方式动态切换实现类实现方式。 比如我们有多个消息中间件或多个短信服务商,需要动态切换的时候,无需自己写判断逻辑来进行服务商的切换。只用一套注解就可以解决问题 开始使用 引入依赖 <dependency><groupId>io…...

Python 在树莓派上实现WIFI连接
开发语言:Python 硬件环境:树莓派 4B 运行环境:Raspberry Pi OS 64-bit 连接WIFI还是比较简单的,用了好几个Python 库都效果不怎么理想,最后还是使用命令的方式是最自在的 先断开当前的连接 wlan0 可以替换成你当前…...

vmware下ubuntu18.04中使用笔记本的摄像头
步骤1:在windows中检查相机状态 win10系统中,在左下的搜索栏,搜索“相机”,点击进入即可打开相机,并正常显示图像。 注意:如果相机连接到了虚拟机,则不能显示正常。 步骤2:…...

【Linux】最基本的杂项设备驱动
MISC驱动简介 misc的意思是混合、杂项的,因此misc驱动也叫杂项驱动。当我们板子上的某些外设无法进行分类的时候就可以使用该项驱动。 所有杂项设备都共用一个主设备号(10),不同的子杂项设备使用不同的子设备号。 重要接口 定…...

RadioGroup RadioButton底部导航栏
参考: https://blog.csdn.net/lu202032/article/details/117632709 activity_home.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://sch…...

SQL分类中的DQL
DQL(Data Query Language):数据查询语言,用来查询数据库中表的记录。 一、DQL语法 编写顺序 执行顺序 SELECT 字段列表 5 FROM 表名列表 1 WHERE 条件列表 2 GROUP BY 分组字段列表 3 HAVING 分组后条件列表 4 ORDER BY 排…...

1.3.ReactOS系统 PAGED_CODE 宏函数的实现
#ReactOS系统 PAGED_CODE 宏函数的实现 ReactOS系统 PAGED_CODE 宏函数的实现 文章目录 PAGED_CODE 宏函数的实现 PAGED_CODE 宏函数的实现 #ifdef DBG#define PAGED_CODE() \if (VideoPortGetCurrentIrql() > 1 /* APC_LEVEL */) \{ \VideoPortDebugPrint(Error, "V…...

【论文速看】DL最新进展20241015-目标检测、图像超分
目录 【目标检测】【图像超分】 【目标检测】 [ECCV2024] LaMI-DETR: Open-Vocabulary Detection with Language Model Instruction 论文链接:https://arxiv.org/pdf/2407.11335 代码链接:https://github.com/eternaldolphin/LaMI-DETR 现有方法通过利…...

京准电钟:NTP时间服务器让大数据时钟同步
京准电钟:NTP时间服务器让大数据时钟同步 京准电钟:NTP时间服务器让大数据时钟同步 NTP是一种用于同步网络中设备时间的协议,广泛用于互联网和局域网中。NTP网络时间服务器则是基于NTP协议构建,为网络中的设备提供时间同步服务的服…...

SSL免费证书申请(七牛云/阿里云等)
最近运维的几个项目SSL证书要过期了,领导一直催促着要搞,然后也是在网上找了各种链接、各种方式(谨防上当受骗)、各种收费; 于是我记录一下我自己生成SSL证书的过程。 前几年我依稀记得免费时间有一年以上的ÿ…...

十二、结构型(代理模式)
代理模式(Proxy Pattern) 概念 代理模式(Proxy Pattern)是一种结构型设计模式,代理对象在不改变目标对象功能的前提下,通过控制对目标对象的访问,来实现延迟加载、权限控制、日志记录等功能。代…...

使用 python 下载 bilibili 视频
本文想要达成的目标为:运行 python 代码之后,在终端输入视频链接,可自动下载高清 1080P 视频并保存到相应文件夹。 具体可分为两大步:首先,使用浏览器开发者工具 F12 获取请求链接相关信息(根据 api 接口下…...

DevExpress WinForms中文教程:Data Grid - 如何点击获取信息?
在使用DevExpress WinForms的Data Grid之类控件时,可能需要实现自定义用户交互,例如显示数据行的上下文菜单,或者在双击一行时调用编辑表单。在这些情况下,您需要在指定的坐标处标识网格元素。 在本教程中,您将学习如…...

真空牛肉滚揉机的优点:
真空滚揉机是一种用于食品加工的设备,主要用于肉类深加工,如肉食制品和低温火腿的生产。 它通过滚揉、按压和腌制的过程,在真空状态下将原料肉与辅料、添加剂均匀混合,以提高肉制品的质量和口感。 真空滚揉机的工作原理是利…...

【物流配送中心选址问题】基于退火算法混合粒子群算法
课题名称: 基于退火算法混合粒子群算法的物流配送中心选址问题 改进方向:模拟退火算法优化粒子群算法 代码获取方式(付费): 模型说明: 待补充 Matlab仿真结果: 1. 模型优化后的仿真结果 2…...

elasticsearch 8.2 版本账号密码设置及SSL设置
背景:elasticsearch 8.2 设置账号密码-CSDN博客 failed to load SSL configuration does not contain any trusted certificate entries [2024-10-08T17:06:53,704][ERROR][o.e.b.ElasticsearchUncaughtExceptionHandler] [node-1] uncaught exception in thread [main] org…...

git gui基本使用
一、图形化界面 二、创建新项目 创建文件,加入暂存区,提交到版本库 三、创建分支 四、合并分支 1.切换至master 五、更新分支 六、解决冲突 修改冲突,加入暂存区,提交到版本库 七、远程创建库 Gitee - 基于 Git 的代码托管和研…...

从automaxprocs库浅窥Linux容器的资源控制
automaxprocs能够自动调整Go程序中的Goroutine数量,以充分利用系统资源并提高程序的性能。 automaxprocs通过读取系统信息,如CPU核心数和Cgroups限制,来动态调整Goroutine的数量 automaxprocs获取CPU限额的关键方法在 // CPUQuotaToGOMAXP…...

AI 读文献(二):综述论文10倍速读和整理
我是娜姐 迪娜学姐 ,一个SCI医学期刊编辑,探索用AI工具提效论文写作和发表。 上一篇娜姐讲了research研究论文的速度框架和效果, AI阅读研究论文,这个方法10倍速提升效率还不损失关键信息! 学员们反馈效果很好&#x…...

【AAOS】Android Automotive 10模拟器源码下载及编译
源码下载 repo init -u https://android.googlesource.com/platform/manifest -b android-10.0.0_r47 repo sync -c --no-tags --no-clone-bundle 源码编译 source build/envsetup.sh lunch aosp_car_x86_64-userdebug make -j8 运行效果 emualtor Cluster Home Map All …...

前端开发攻略---使用css实现滚动吸附效果
实现代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</title><style>…...

解析 MySQL 查询优化:提升性能的十个关键策略
1. 避免全表扫描 当查询的数据量非常大时,全表扫描的效率会很低。应尽量通过在WHERE和ORDER BY涉及的列上创建索引,避免全表扫描。索引就像一本书的目录,可以快速定位到需要的数据,而不用从头开始逐页查找。 示例: 如…...

QT--QPushButton设置文本和图标、使能禁能、信号演示
按钮除了可以设置显示文本之外,还可以设置图标 文本 可以获取和设置按钮上显示的文本 // 获取和设置按钮的文本 QString text() const void setText(const QString &text)该属性,既可以在 Qt 设计师右侧的属性窗口中修改,也可以在代码…...

PostgreSQL学习笔记六:模式SCHEMA
模式(Schema) PostgreSQL中的模式(Schema)是一个命名的数据库对象集合,包括表、视图、索引、数据类型、函数、存储过程和操作符等。模式的主要作用是组织和命名空间数据库对象,使得同一个数据库中可以包含…...

基础IO -- 理解文件(1)
目录 一:回顾文件 二:加深对文件的理解 1.概念 2.以w写方式打开 3.以a追加方式打开 4.重定向 一:回顾文件 以前学习过在C语言中的文件操作, 但那根本是不足以理解文件的,即站在语言角度是不可能理解文件的 我们要…...