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

首要结论

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

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

成员变量继承情况

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

父类的 name,ageprivate 修饰:


成员方法

  • 非 private
  • 非 static
  • 非 final

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

主要看 "喝茶" 案例;

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

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

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


方法的重写

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

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

@Override 重写注释:

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


本质:

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

重写注意事项


链接

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

相关推荐
唐青枫20 分钟前
Java Gradle 实战指南:从 Wrapper、Kotlin DSL 到 Spring Boot 多模块构建
java·kotlin·gradle
浪客川21 分钟前
Android的SystemUI的启动流程简析
android·开发语言
wuqingshun31415922 分钟前
如何理解Spring Boot中的starter?
java·spring boot·后端
带刺的坐椅23 分钟前
Solon TeamAgent 协作协议:从 SEQUENTIAL 流水线到 HIERARCHICAL 主管团队
java·ai·llm·agent·solon
wuqingshun31415931 分钟前
SpringBoot是如何实现自动配置的
java·spring boot·后端
用户0537040314334 分钟前
我的学习记录泛型
java
-银雾鸢尾-35 分钟前
C#中的抽象类与抽象方法
开发语言·c#
zhouhui00136 分钟前
AI帮我写了个Spring Boot校验,线上漏掉了这组边界条件
java·spring boot·redis·ai编程
JRedisX43 分钟前
Java从零手写企业级内存数据库
java
萧瑟余晖1 小时前
JDK 20 新特性详解
java·开发语言