Java 类继承性原则及作用总结

 一、继承性原则

1. 单继承原则 

  Java 类只能直接继承一个父类(class B extends A),但可通过接口实现多继承效果(implements 多个接口)。

2. 传递性

   子类继承父类的所有非私有成员public protected/默认权限的属性和方法),但不继承:

     - private 成员(可通过父类提供的公共方法间接访问)

     - 构造方法(需通过 super() 显式/隐式调用)

3. 方法覆盖规则

   - 子类重写父类方法时:

     - 方法名、参数列表必须相同。

     - 访问权限不能比父类更严格(如父类 protected,子类不能改为 private)。

     - 返回类型可以是父类方法返回类型的子类(协变返回类型)。

4. 构造方法调用顺序

   - 子类构造方法默认先调用父类无参构造(隐式 super())。

   - 若父类没有无参构造,必须调用 super(args)(必须是构造方法的第一条语句)。


二、继承的作用

|           作用            |                                  说明                                |                      示例                  |

|------------------- ------|--------------------------------------------------------------|--------------  -------------   -------|

| 代码复用| 子类直接复用父类的属性和方法,减少重复代码      | Animal → Dog复用 eat() 方法 |

| 多态支持| 父类引用指向子类对象,运行时动态调用子类方法 | Animal a = new Dog(); a.sound();|

| 功能扩展 | 子类可新增方法,或重写父类方法以改变行为。     | Bird类新增 fly() 方法。       |

| 层次化设计 | 通过继承树(如 Object→Animal→Dog)组织代码结构,逻辑更清晰。| Java 集合框架(List→ArrayList)。 |

三、典型代码示例

class Animal {                      // 父类

    protected String name;

    public Animal(String name) {

        this.name = name;

    }

    public void eat() {             // 可重写方法

        System.out.println(name + " is eating.");

    }

}

class Dog extends Animal {          // 子类

    public Dog(String name) {

        super(name);                // 调用父类构造

    }

    @Override

    public void eat() {             // 方法重写

        System.out.println(name + " eats bones.");

    }

    public void bark() {            // 子类扩展方法

        System.out.println("Woof!");

    }

}

// 多态测试

public class Test {

    public static void main(String[] args) {

        Animal myDog = new Dog("Buddy");

        myDog.eat();  // 输出: Buddy eats bones.(动态绑定)

    }

}

```

四、总结口诀

1.单继承,多接口

2.子类复用父类功

3.重写方法需一致

4.构造先调super中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值