抽象类:含有抽象方法的类是抽象类,抽象类和抽象方法前都加abstract关键字。
接口 :特殊的抽象类,接口中所有的方法都是抽象方法,接口前是interface关键字。接口中的所有方法都不用加abstract,因为已经有了interface关键字。接口中生命的 所有变量都视为常量,即int a=10;等同于 public static final int a=10。
(抽象)类 extends (抽象)类
(抽象)类 implements 接口
接口 extends 接口
只有普通类才能实例化,接口和抽象类都不能被实例化,即不能使用new关键字产生对象,因为里面有为实现的方法。
子类只能继承一个父类,不能同时继承两个父类。因为两个父类中有重名的 方法时,子类无法 判断继承哪一个。
子类可以 实现多个接口,因为接口中的方法都是抽象 的,没有定义方法体,所以哪怕两个接口中有同名 方法,到了子类那里也不怕冲突,只需要在子类里实现该方法就可以了。
一个类可以继承一个父类的同时实现一个或者多个接口。
一个类继承一个父类的同时实现两个接口: class Fish extends LandAnimal implements Animal,Runner{}
一个类同时实现两个接口:class Fish implements Animal,Runner{}