一、什么是接口
如果一个抽象类中的所有方法都是抽象的,我们就可以将这个类用另外一种方式来定义,也就是接口定义。
从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。
二、接口的特点
①接口中常见的定义:常量、抽象方法。
②接口中成员都有固定的修饰符
常量:public static final
方法:public abstract
③接口中的成员都是public的
三、如何实现接口
①接口中全为抽象,子类用implements实现接口再实例化使用
原因是接口是不可以被创建对象的,因为有抽象方法,要被子类实现,子类对接口中的抽象方法全部覆盖后子类才可以实例化,否则子类还是一个抽象类。
②接口可以被类多实现,接口也可以多继承,这也是java类对多继承不支持的转换形式。
原因是接口中的方法并没有方法主体,子类可以任意定义而不会产生功能冲突。
③一个类在继承另一个类的同时也可以实现多个接口。(要先继承再实现,否则会出错)
四、案例
interface A
{
//变量会有默认修饰符public static final
void name;
//方法会有默认修饰符public abstract
void show();
}
interface B
{
}
//接口可以多继承(继承多个接口不是类)
interface C extends A,B
{
}
//接口可以被多实现(一个类可以实现多个接口)
class D implements A,B
{
//类实现接口必须重写接口里所有的方法
public void show()
{
}
}
//一个类可以继承另一个类的同时实现多个接口(先继承再实现)
class E extends D implements A,B
{
//类实现接口必须重写接口里所有的方法
public void show()
{
}
}