接口类
我们在创建了一个类后,可能需要用到其他的数据,为了简便起见,我们不会把大量常数数据全摆在主函数里,而是建立一个接口来接受这些常量和抽象方法。
接口类用interface表示
定义常量和抽象方法的格式为:
public interface Student {
//定义常量
//通常格式为: public static(常量符) final(最终的) 数据类型 常量(大写) = “XX”
//通常用大写字母来区分对象名和常量名
public static final String NAME = "XX";
public static final int score = "99";
//抽象方法
//相当于在暂时打了个底稿在此,并无实际运用
//若需使用可以在重新定义的类中引用方法,如下
public abstract void study();
}
设计程序时,我们经常都希望基础类只为自己的衍生类提供一个接口。也就是说,我们不想其他任何人实际创建基础类的一个对象,只对上溯造型成它,以便使用它们的接口。为达到这个目的,需要把那个类变成“抽象”的——使用abstract 关键字。若有人试图创建抽象类的一个对象,编译器就会阻止他们。这种工具可有效强制实行一种特殊的设计。
——Java编程思想(第4版)
实现接口
在JAVA中,我们用implements来实现接口,固定格式为:
public class 子类 extends 父类 implements 接口类,…,接口类
其中 extends 只能继承一个类,而 implements 可以合并多个接口
同时,实现接口一定要重写接口中所有的抽象方法
public class IntStudent implements Student {
public void study(){
System.out.println("子类重写父类的抽象方法!");
}
}