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

首要结论

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

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

成员变量继承情况

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

父类的 name,ageprivate 修饰:


成员方法

  • 非 private
  • 非 static
  • 非 final

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

主要看 "喝茶" 案例;

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

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

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


方法的重写

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

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

@Override 重写注释:

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


本质:

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

重写注意事项


链接

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

相关推荐
Java面试题总结6 分钟前
FVG3 构建系统 MinGW 配置问题排查文档
java
乐之者v12 分钟前
游标分批查询,提高查询性能
java
城管不管20 分钟前
嵌入模型Embedding Model
java·开发语言·python·embedding·嵌入模型
斯维赤21 分钟前
每天学习一个小算法:选择排序
java·学习·算法
Rust研习社28 分钟前
Rust Pin 解析:核心原理与异步编程实践
开发语言·后端·rust
book123_0_9928 分钟前
Spring Boot 条件注解:@ConditionalOnProperty 完全解析
java·spring boot·后端
Drone_xjw29 分钟前
解决 Qt 程序在 Kylin(麒麟)系统下表头“白屏”的问题
开发语言·qt·kylin
NCIN EXPE30 分钟前
使用Springboot + netty 打造聊天服务(一)
java·spring boot·后端
运维行者_34 分钟前
通过OpManager的Windows服务监控能力释放最佳IT网络性能
服务器·开发语言·网络·windows·web安全·php
.千余36 分钟前
【Linux】进程概念
linux·服务器·开发语言·学习