1. 继承的学习和使用

继承的学习和使用

继承概述
  • 继承是面向对象三大特性之一(封装, 继承, 多态)
  • 继承使子类拥有父类的属性和方法, 并且可以定义自己独有的属性和方法
继承的格式

关键字:extends

public class 子类名 extends 父类名{ }

示例

父类Animal类

public class Animal {
    private String color;
    private int age;

    public void eat(String something) {
    }

    public Animal() {
    }

    public Animal(String color, int age) {
        this.color = color;
        this.age = age;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

子类Dog类

public class Dog extends Animal {
    private String name;

    public Dog() {
    }
    
    public Dog(String color, int age, String name) {
        super(color, age);
        this.name = name;
    }

    public void lookHome() {
        System.out.println(super.getColor()+"狗在看家");
    }

    @Override
    public void eat(String something) {
        System.out.println("狗吃" + something);
    }
}

以上例子中的知识点

  1. 子类的构造函数中,第一句程序默认会调用父类的无参构造方法,用 super()表示。因为子类继承父类的数据,就必须先对父类的数据初始化。
  2. 子类调用并重写了父类的方法 eat(),可以根据子类的特点,写自己的内容,也可以不重写,直接使用父类的方法。
  3. 子类定义了自己特有的方法 lookHome(),和特有的属性 name
继承的使用场景和优劣
  • 当有两个类 A和B,且A是B的 一部分,就可以让A继承B,例如狗和动物,香蕉和水果,学生和人。
  • 优点:简化代码。提高代码复用性和维护性
  • 缺点:类与类之间产生了联系,耦合性增加,父类变化会导致子类跟着变化
注意事项
  • java类中只支持单继承,不支持多继承,但可以支持多层继承,例如:孙子 extends 爸爸 extends 爷爷。
posted @ 2023-03-21 21:02  七分酷  阅读(53)  评论(0)    收藏  举报