如果一个抽象类中的所有方法都是抽象的,就可以将这个类用接口来定义。
接口是抽象方法和常量值的定义的集合,从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量的方法的定义,没有变量的方法的实现。
1:接口中的成员都是public访问类型的,接口里的变量默认是用public static final标识的。
2:可以定义一个新的接口用extends关键字继承一个已经有的接口。
3:可以定义一个类用implements关键字去实现一个接口中的所有方法,还可以定义一个类用implements关键字去实现一个接口中定义的部分方法。
4:一个类可以继承一个父类的同时实现一个或多个接口,extends关键字必须位于implements关键字之前。
如:
interface Runner{ int ID = 1; void run(); }
interface Animal extends Runner//继承Runner{ void breathe(); }class Fish implements Animal{ public void run() { System.out.println("fish is swimming"); } public void breathe()//必须是lublic的 { System.out.println("fish is bubbling"); } public static void main(String [] args) { Fish f = new Fish(); int j = 0; j = Runner.ID; j =f.ID; } }abstract class LandAnimal implements Animal//必须是抽象的类{ public void breathe(){}; }
interface Flyer{ void fly();}class Bird implements Runner,Flyer{ public void run(){} public void fly(){}}/*class Student extends Person inplements Animal{}*/
interface A //接口中只能定义常量{ public static final int ID = 1;//public static final可以省略 ID是常量 int aa(int x,int y); void bb(); }