当前位置: 首页 > news >正文

Java 8继承

Java的继承只允许单继承,我个人认为这有局限。
一、基础

  1. 继承作用
    抽取多个类重复代码,实现代码复用;建立父子类关系,为多态提供基础。
    关键字:extends
    Java 类只允许单继承,一个子类只能直接继承一个父类
  2. 基础语法
    运行
    // 父类
    public class Animal {
    public void eat(){
    System.out.println("动物进食");
    }
    }

// 子类
public class Dog extends Animal {
public void bark(){
System.out.println("小狗吠叫");
}
}

// 测试
public class Test {
public static void main(String[] args) {
Dog dog = new Dog();
dog.eat(); // 继承父类方法
dog.bark(); // 自身独有方法
}
}
3. 成员访问规则
public:子类可直接访问
protected:同包内、任意子类可以访问
private:子类无法直接访问。父类私有变量客观存在于子类对象,只能通过父类提供的 public/protected 方法操作。
4. super 关键字
super:代表父类对象
super.变量名:访问父类成员变量
super.方法名():调用父类成员方法
super():调用父类构造方法
硬性规则:
子类构造方法第一行默认隐藏 super (),调用父类无参构造;
父类没有无参构造,子类必须手动书写super(参数),否则编译报错。
二、中级:方法重写 Override

  1. 概念
    子类拥有和父类方法名、参数列表一致的方法,重新实现逻辑。
    java
    运行
    public class Animal {
    public void eat(){
    System.out.println("动物进食");
    }
    }

public class Cat extends Animal{
@Override // 注解,校验重写格式,建议永远带上
public void eat() {
System.out.println("猫咪吃鱼");
}
}
2. 重写规则
方法名、参数列表必须完全一致
返回值支持协变返回类型
重写方法访问权限不能比父类更加严格
不能重写:private、static、final修饰的方法
区分
重载 (Overload):同一个类内部,同名不同参数
重写 (Override):父子类之间
3. this 与 super 限制
this() 调用本类其他构造;super()调用父类构造
两者都必须放在构造方法第一行
this () 和 super () 不能同时写在一个构造方法中
三、进阶知识点

  1. final 和继承
    final class 类名:类不能被继承
    final 方法:方法禁止被子类重写
    final 变量:常量,赋值后不可修改
  2. 单继承拓展方案:接口 interface
    类只能单继承,但是一个类可以同时实现多个接口,弥补单继承局限。
    java
    运行
    interface Run{}
    interface Swim{}
    public class Duck extends Animal implements Run, Swim{

}
3. 多态(继承核心应用)
条件:存在继承关系 + 方法重写 + 父类引用指向子类对象
java
运行
Animal animal = new Dog();
animal.eat(); // 运行执行子类重写后的方法
4. 重要坑:成员变量没有重写
成员变量只有隐藏遮蔽,不存在重写。
变量访问看引用类型;方法执行看实际对象。
java
运行
class A{
int num = 10;
}
class B extends A{
int num = 20;
}

public class Test{
public static void main(String[] args) {
A obj = new B();
System.out.println(obj.num); //输出10
}
}
5. Object 根类
所有 Java 类默认直接或间接继承java.lang.Object
常用可重写方法:
toString():对象字符串描述
equals():对象比较
hashCode():获取哈希值
6. 对象初始化顺序(面试高频)
创建子类对象完整顺序:
父类静态代码块
子类静态代码块
父类成员变量、构造代码块
父类构造方法
子类成员变量、构造代码块
子类构造方法
四、开发规范
遵循 is-a 原则:Dog is Animal,适合使用继承;
开发通用准则:组合优先于继承;
不要单纯为了复用代码强行使用继承。
五、课后练习方向
练习父类有参构造,子类必须手动 super 传参
练习方法重写 + Override 注解
练习多态写法,理解父子类型转换
练习重写 toString ()

http://www.jsqmd.com/news/1326615/

相关文章:

  • 大学生Python学习指南:从入门到求职
  • 2026盐田港区、老旧小区搬家怎么选?正规专业搬家服务商盘点、避坑FAQ与选型全指南 - 深圳家顺兴搬家
  • 2026年深圳南山居民长途搬家找服务商:正规合规搬家机构全盘点、不同场景适配梳理与实用避坑详细指南 - 深圳家顺兴搬家
  • Hadoop机架感知原理与性能优化实践
  • 从零拆解AI日程管理:自然语言如何变成自动化的任务闭环?
  • 2026年成都喷砂加工厂怎么选?这份专业甄选参考指南值得看看! - 优质品牌商家
  • 2026年长沙比较好的欧式扣线门制造厂推荐:这3家优选厂家值得一看 - geo交流
  • SolidWorks齿轮建模与图形阵列技巧详解
  • 英雄联盟回放分析终极指南:ROFL-Player免费工具深度解析
  • 从零到一:Docker化部署OpenClaw智能体框架的完整实践指南
  • Sunshine游戏串流:当你的游戏世界不再受限于书房
  • 完全免费离线OCR:Umi-OCR如何帮你轻松批量提取图片文字
  • Linux服务器崩溃诊断与应急处理实战指南
  • 控制限和规格限混用:新人最常犯的致命错误
  • 使用VLC进行组播测试:从原理到实践的完整指南
  • Hadoop集群负载均衡机制与优化实践
  • 2026年钢模板定制厂家怎么选?正规企业推荐与行业观察 - 优质品牌商家
  • 2026 年济南钢材回收市场大揭秘,目前这些回收站点你知道几个?
  • 2026年潍坊食品包装企业推荐,包装膜/PE膜/塑料卷膜/彩印PE膜/卷膜/日化PE膜/彩印卷膜,食品包装厂商哪家好 - 品牌推荐师
  • 基于Qt框架解析与复现FNF高难度谱面的游戏开发实践
  • 基于SpringBoot的B2C商城系统设计与实现
  • 2026年南通市海门区铝艺庭院门电话优选指南:如何快速找到靠谱厂家? - geo交流
  • 大数据转大模型:Demo能跑只是开始,权限日志才是真正的分水岭
  • 终极英雄联盟回放播放器:ROFL-Player完整使用指南与版本兼容解决方案
  • 如何高效使用抖音下载神器:终极无水印视频保存指南
  • 2026年铝合金卷帘门维修精选指南:从甄选到避坑,一篇搞定 - geo交流
  • 如何安全转移《艾尔登法环》存档:完整免费指南
  • 哈尔滨平房区高端美容胶施工怎么选?nkf 奥特希美容胶专属服务商推荐爱尚美缝服务中心 - 专注室内空气检测治理
  • AI机器人与传统机器人有何不同?四个维度看懂代差 - 资讯综合
  • 3步解锁联想刃7000K BIOS隐藏功能:终极硬件性能优化指南