[Java]子类到底能继承父类中的哪些东西?继承中成员变量/方法访问特点---就近原则

首要结论

子类到底能继承父类中的哪些东西?

构造方法 成员变量 成员方法
非私有,不能 非私有,能 非私有(能被添加进虚方法表中),能
private,不能 private,能继承,但不能用 private,不能

成员变量继承情况

父类的 name,age 没用 private 修饰:

父类的 name,ageprivate 修饰:


成员方法

  • 非 private
  • 非 static
  • 非 final

继承中成员变量访问特点---就近原则

主要看 "喝茶" 案例;

  • 调用 hobby 采取就近原则,从局部中开始向上找
  • 调用 this.hobby 采取就近原则,从子类中开始找
  • 调用 super.hobby 采取就近原则,从父类中开始找

继承中成员方法访问特点---就近原则

  • 直接调用满足就近原则
  • super 调用,直接访问父类


方法的重写

当父类的方法不能满足子类现在的需求时,需要进行方法重写。

书写格式:在继承体系中,子类出现了和父类中一模一样的方法声明,我们就称子类这个方法是重写的方法。

@Override 重写注释:

  1. @Override 是放在重写后的方法上,检验子类重写时语法是否正确
  2. 加上注释后如果有红色波浪线,表示语法错误
  3. 建议重写方法都加上 @Override ,代码安全、优雅


本质:

方法重写即为,子类覆盖了 从父类中继承的、虚方法表里的 方法。

重写注意事项


链接

(第二个子类重写父类方法时,访问权限子类必须大于等于父类,这里的访问权限指的是 子类中成员方法的访问权限。)反正记住 子类方法名称、形参列表和父类完全一致即可。

相关推荐
阿正的梦工坊1 天前
JavaScript 微任务与宏任务完全指南
开发语言·javascript·ecmascript
chools1 天前
【AI超级智能体】快速搞懂工具调用Tool Calling 和 MCP协议
java·人工智能·学习·ai
知行合一。。。1 天前
Python--05--面向对象(属性,方法)
android·开发语言·python
李白你好1 天前
TongWeb EJB 反序列化生成工具(Java-Chain 插件)
java·安全
青梅橘子皮1 天前
C语言---指针的应用以及一些面试题
c语言·开发语言·算法
浅时光_c1 天前
3 shell脚本编程
linux·开发语言·bash
Evand J1 天前
【三维轨迹目标定位,CKF+RTS,MATLAB程序】基于CKF与RTS平滑的三维非线性目标跟踪(距离+方位角+俯仰角)
开发语言·matlab·目标跟踪
U盘失踪了1 天前
Java 的 JAR 是什么?
java·jar
今天又在写代码1 天前
java-v2
java·开发语言
competes1 天前
慈善基金投资底层逻辑应用 顶层代码低代码配置平台开发结构方式数据存储模块
java·开发语言·数据库·windows·sql