Java 中 extends 与implements 的区别 ?

发布时间 2023-10-10 16:47:10作者: 修炼诗人

一、介绍extends 与 implements 的概念

  1、之间的继承使用extends : 子类extends父类的属性和方法,并且进行扩展或者重写。

// 父类
class Animal {
    public void eat() {
        System.out.println("Animal is eating");
    }
    public void noeat() {
        System.out.println("Animal is noeating");
    }
}
// 子类继承父类Animal
class Dog extends Animal {
    @Override // 覆盖父类的方法的标志,个人认为等于重写
    public void eat() {
        System.out.println("Dog is eating");
    }
}

  Animal(父类) 存在两个方法:eat() 和noeat()。extends 可以不用都实现。但是implements 必须全部实现

   PS:这里补充一个重载和重写的区别:

    重写:方法名、参数名和返回类型一样

    重载:方法名相同,其他比如:参数名、返回类型都可以改变

  2、实现接口的方法采用implements

interface Flyable {
    void fly();
}

class Bird implements Flyable {
    @Override
    public void fly() {
        System.out.println("Bird is flying");
    }
}