Java笔记7:面向对象继承、this与super关键字详解 标签#Java基础 #面向对象 #继承 #this关键字 #super关键字 #方法重写简介继承是Java面向对象三大特性之一也是实现代码复用、构建类层级关系、实现多态的核心基础。本文详细梳理继承核心规则、this和super关键字用法、方法重写规范内容精简干货满满适合新手学习、期末复习与面试复盘。文章目录**一、继承核心概念与特性****二、this与super关键字核心用法**三、方法重写核心规则*四、核心知识点总结* *一、继承核心概念与特性继承是Java面向对象三大核心特性之一核心作用是实现代码复用、减少冗余代码让类与类之间形成层级从属关系。Java通过 extends 关键字完成继承定义语法上严格遵循单继承机制一个子类只能直接继承一个父类但一个父类可以被多个子类继承有效规避了多继承带来的逻辑冲突。子类继承父类后可直接使用父类中非私有非private的成员变量和成员方法父类私有成员仅能在父类内部访问无法被子类继承和调用。除此之外继承是Java实现多态机制的核心前提为后续程序拓展提供了基础支撑。继承基础代码示例// 父类classFather{// 非私有成员可被子类继承publicStringname父类成员;publicvoidshow(){System.out.println(父类通用方法);}// 私有成员无法被子类继承privatevoidprivateMethod(){System.out.println(父类私有方法);}}// 子类继承父类classSonextendsFather{// 子类独有成员publicintage18;}publicclassTest{publicstaticvoidmain(String[]args){SonsonnewSon();// 调用继承的父类成员System.out.println(son.name);son.show();// 调用子类自身成员System.out.println(son.age);}}二、this与super关键字核心用法在Java继承体系中this和 super 是一对核心关键字分别对应本类和父类的资源调用精准解决了继承中的成员调用冲突问题。this 代表当前本类对象可用于调用本类的成员变量、成员方法、本类构造方法用于区分局部变量和成员变量。super 代表父类对象专门用于访问父类的属性、普通方法和构造方法。重点规则子类的所有构造方法中第一行都会默认隐藏 super() 无参构造语句会优先执行父类无参构造完成父类资源初始化再执行子类构造逻辑保证继承体系的完整性。this、super关键字代码示例classFather{publicStringinfo父类属性;publicFather(){System.out.println(父类无参构造执行);}}classSonextendsFather{publicStringinfo子类属性;publicSon(){// 默认隐藏 super()优先调用父类无参构造System.out.println(子类构造执行);}publicvoidshowInfo(){this.info;// 调用本类子类属性super.info;// 调用父类属性System.out.println(本类属性this.info);System.out.println(父类属性super.info);}}publicclassTestDemo{publicstaticvoidmain(String[]args){newSon().showInfo();}}三、方法重写核心规则方法重写Override是子类基于继承拓展功能的核心操作指子类对父类中已有的非私有、非静态、非final普通方法进行重新实现用于适配子类独有的业务逻辑让方法功能更贴合子类特性。方法重写有严格的语法规范子类重写方法的访问权限不能比父类更严格如父类public子类不能改为protected/private且方法名、参数列表、返回值必须与父类保持一致。核心禁忌父类被private修饰的私有方法无法被重写仅为父类内部使用。合理的方法重写是实现多态、提升程序拓展性的关键。方法重写代码示例含权限规则演示classAnimal{// 父类公共方法允许重写publicvoideat(){System.out.println(“动物进食”);}// 私有方法无法被重写privatevoidsleep(){System.out.println(“动物睡觉”);}}// 子类重写父类方法classCatextendsAnimal{// 重写父类方法权限与父类一致合法Overridepublicvoideat(){// 子类独有业务逻辑System.out.println(“小猫吃鱼干”);}}publicclassOverrideTest{publicstaticvoidmain(String[]args){AnimalanimalnewCat();// 运行子类重写后的方法animal.eat();}}四、核心知识点总结*继承核心通过extends关键字实现Java仅支持单继承核心价值是代码复用、消除冗余继承范围子类仅继承父类非私有成员private私有成员无法被继承和直接访问关键字作用this指代当前本类对象super指代父类对象子类构造默认优先执行super()调用父类无参构造重写规则子类重写父类非私有方法权限不能比父类严格私有方法、静态方法、final方法不可重写核心关联继承构建类的层级关系是Java实现多态机制的必要前置条件。