当一个抽象类的方法都是抽象方法时,可以使用interface来代替抽象类的定义。
比如一个方法全是抽象方法的抽象类
abstract class Abstr
{
public abstract void show();
public abstract void work();
public abstract void say();
}
可以这样写:
interface Abstr
{
public abstract void show();
public abstract void work();
public abstract void say();
}
接口中可以有抽象方法和全局常量,而且这两种都是固定修饰符
抽象方法:public abstract
全局常量:public static final
我们知道抽象类必须有子类继承并且覆盖其所有的抽象类之后子类才能实例化,
同理接口必须有子类实现其所有的方法后才能实例化,否则子类只是一个抽象类
若想实现上面的接口,必须使用implements关键字
class Ab implements Abstr
{
}
多实现:
我们知道java不支持多继承,因为会带来不确定性。
但是java对其进行了改良,变成了多实现,也就是一个类可以实现多个接口
class A implements B,C
一个类可以继承一个类,同时实现多个接口
class A extends D implements B,C
接口与接口之间是继承关系
interface Q extends B,C