接口可以解决多重继承的效果
接口是抽象方法和常量值的定义的集合。
接口是一种特殊的抽象类,只包含常量和方法的定义,而没有变量和方法的实现。一个类可以实现多个接口,也可以继承其他接口
接口的特点
- 用interface来定义,用implements来使用
- 接口的所有成员变量都默认是public static final修饰的
- 接口中的所有方法都是默认是public abstract修饰的
- 接口没有构造器
- 接口采用多重继承机制
例:
public interface Demo{
int i=1;
void start();
public void stop();
}
等同于
Public interface Demo{
public static final int i=1;
public abstract void start();
public abstract void stop();
}
接口和抽象类很类似,那为何要用接口?
父类需要稳定的抽象类,父类抽象类增加一个方法时,子类就必须实现这个方法,就会导致代码更改频繁,不利于开发。而当父类需要增加方法时,可通过新建接口,在接口上扩展方法,子类可根据需求实现相应的接口。
如果实现接口的类没有实现接口中的全部方法,必须将此类定义为抽象类。
抽象类是对于一类事物的高度抽象,其中既有属性也有方法;接口是对方法的抽象,也就是对一系列动作的抽象。当需要对一类事物进行抽象时,应使用抽象类,形成一个父类;当需要对一系列动作进行抽象时,应使用接口,通过接口去实现相应的动作。