Java学习笔记74——接口的特点

接口的特点

接口的特点:

1、接口使用关键字:interface表示

​ 定义格式:interface 接口名{}

2、类实现接口用

​ 定义格式:class 类名 implements 接口名{}

3、接口不能实例化

​ 那么如何表示接口的实现呢?
​ 使用多态的方式实现,有具体的子类进行实例化,其实这是多态的一种,接口多态

4、接口子类的特点

​ 如果子类是一个抽象类,那么可以不需要重写接口中的方法
​ 如果子类是一个具体的类,必须要重写接口中所有抽象方法

到目前为止,我们学过三种多态方式:
1、具体类中的多态 (最后才是这个)
2、抽象类中的多态 (其次是抽象多态)
3、接口中的多态 (是最常见的,接口开发)

abstract class Animal{
    private String name;
    private int age;

    public Animal() {
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

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

class Cat extends Animal{

    public Cat() {
    }

    public Cat(String name, int age) {
        super(name, age);
    }

    @Override
    public void eat() {
        System.out.println("猫吃鱼");
    }
}

//定义一个接口,表示钻火圈
interface DrillFire{
    public void zuanHuo();

}


//定义训练过具体的猫的类实现钻火圈接口(子类是一个具体的类,必须要重写接口中所有抽象方法)
class TrainCat implements DrillFire{
    @Override
    public void zuanHuo() {
        System.out.println("猫跳着钻火圈");
    }
}

//定义一个抽象类实现钻火圈接口(子类是一个抽象类,那么可以不需要重写接口中的方法)
abstract class Demo implements DrillFire{

}



public class InterfaceDemo1 {
    public static void main(String[] args) {
//        DrillFire df = new DrillFire();
        DrillFire df = new TrainCat();//接口中的多态

    }
}
上一篇:软件测试工作面试的74个常见问题


下一篇:Java注解和反射,74道高级Java面试合集