----JAVA 继承----

引言

再java中你能创造出很多的类,但如果这些类中的成员再另一个类中也要使用,那么就要用到继承来实现指定类中成员的使用了

那么也就可以写出这样的代码

再类Cat中使用了类Animal的成员,这里我们称Cat叫子类,Animal叫父类

概念

通过对不同类中的相似的成员的抽取,实现代码的复用,还能实现多态(敬请期待)

语法

当然这样就要提到俩个关键字了 extends super

extends

用来表明继承的父子类关系,是由子类 extends 父类

不过要注意的是一个子类只能继承一个父类,而一个父类可以被多给子类继承

super

对父类成员访问

特别注意,若父类有自己写的有构造方法,且需要传入参数,那么子类必须用super()调用父类构造方法,且要放再第一行,有父才能有子,所以再初始化过程中是要先初始化父类的成员,再初始化子类的成员

若父类和子类有相同的变量,子啊调用时默认调用子类的,可以理解再寻找成员变量时是先再子类中寻找,若子类中没有,那么就在父类中寻找

若要特别调用父类的成员,用 super. 访问就行

super and this

super()和this()是不能同时同时存在的,因为你子类的构造方法必定会要调用父类的构造方法,而你有调用了子类的另一个构造方法,这样就必定会形成一个循环

再谈代码块初始化顺序

静态代码块是在类加载时执行,所以最先执行

之后的时实例代码块,类方法是在对象的创建后才会执行

且父类的执行顺序再子类之上

所以是

父类静态 》子类静态 》 父类(实例 》(类方法)》 子类(实例 》类方法)

protected关键字

既然说到了父子类关系,那么说下最后一个权限关键字,protected

protected的权限是

对与不同包的同子类用代码来表示

且在不同包中只有子类能调用

对于成员权限大小的决定,能小就小,为了代码安全性

final关键字

如果不想这个类被别人继承,那么就用final去修饰这个类

下篇 多态

相关推荐
Pin_Qing17 分钟前
账单没超,请求先被拒了
大数据·开发语言·人工智能
2601_9628857219 分钟前
如何用 Python 计算 VaR 和 CVaR(在险价值)?
开发语言·python
杨杨杨大侠24 分钟前
DeepSeek Harness:连 Agent Loop 都能替换的插件架构
java·人工智能·agent
SL_staff24 分钟前
私有化低代码运维三重雷区:JVS开源栈中的Kafka/ES/RabbitMQ治理实践
java·低代码·全栈
yuniko-n25 分钟前
【算法】约瑟夫环问题
java·算法
郝亚军34 分钟前
manifest 中 `sha256` 与 `signValue` 的作用
java·开发语言·数据结构
譕痕1 小时前
stripe 实例
java·开发语言·stripe·checksession
墨子夕1 小时前
设计模式——Java × Python 双语言精讲 · 23 个经典模式 + 现代演进(前言篇)
java·开发语言·设计模式
骇客野人1 小时前
Linux 全套实操方案(含目录详解、文件传输、日志、文件规范、环境变量、Java 应用部署运维)
java·linux·运维
_菜鸟果果1 小时前
高德地图 JS API 2.0 在国产 Linux/ARM 电脑上渲染失败 的排查与解决
linux·开发语言·javascript