定义格式:interface 接口名{}
定义格式:class 类名 implements 接口名{}
那么如何表示接口的实现呢?
使用多态的方式实现,有具体的子类进行实例化,其实这是多态的一种,接口多态
如果子类是一个抽象类,那么可以不需要重写接口中的方法
如果子类是一个具体的类,必须要重写接口中所有抽象方法
到目前为止,我们学过三种多态方式:
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();//接口中的多态 } }