抽象类和接口

目录

抽象类

案例:

特点:

接口

案例:

特点:

抽象类和接口的区别


抽象类

抽象类提供了去定义抽象方法

当一个方法在父类本身并没有实际意义,只是为了给不同的子类重写自己独有的逻辑时,这个方法在父类当中就可以为抽象方法,同时父类本身也就必须为抽象类

抽象类和方法通过abstract声明。

案例:

抽象类和接口_第1张图片

当子类继承了抽象类父类,但是没有重写其中的抽象方法(eat())时,编译报错。

此时我们就需要在子类中重写eat()方法

抽象类和接口_第2张图片

抽象类和接口_第3张图片

特点:

抽象类和接口_第4张图片

接口

接口中同样有抽象方法,是对规则的抽象,所以接口中的方法也需要自己的实现类去重写。

我们通常是将类中的许多操作抽象为接口。

通过interface声明一个接口,其实现类通过implements实现接口,并重写其中的抽象方法

抽象类和接口_第5张图片

可以看到,接口中的方法默认为public abstract,所以我们可以省略

直接写 返回值类型+方法名()

案例:

接口:

public interface Operation {
    public abstract void eat();
    void sleep();
}

实现类:

public class Cat implements Operation{
    String name;

    public Cat(String name) {
        this.name = name;
    }

    @Override
    public void eat() {
        System.out.println(name+"正在吃");
    }

    @Override
    public void sleep() {
        System.out.println(name+"正在睡觉");
    }
}

抽象类和接口_第6张图片

特点:

抽象类和接口_第7张图片

抽象类和接口的区别

抽象类和接口_第8张图片

你可能感兴趣的:(JavaSE,java,开发语言)