关于接口的对比:接口的实现类可以有构造方法,接口不能有构造方法,抽象类可以有构造方法。
应当注意到接口和类的声明格式,接口是不用写class的,直接以interface +接口名{}开始,而接口的实现类是以class +接口名Impl+implements+接口名{}这种格式,显然接口是高度抽象的,所以在实例化时要用这个接口的实现类,所以接口的实现类还是类,只不过特殊点罢了。
接口实现类的作用:为了实现接口里面的方法,接口里面的方法不是都没人实现吗,所以 就用接口实现类来实现。
关于接口的猜想:接口就是抽象类的纯粹版,我觉得。肯定是嫌抽象类这一套太麻烦,于是就弄了个接口这东西。把抽象类那一套全搬过来。
在接口里面成员变量:只能是常量。不能先声明一个,然后再写一个赋值语句。有以下几种声明方式:
public static int num = 1;
public int num2 = 2;
public final int num3 = 3;
public final static int num4 = 4;
其实这几种都是一抹一样的。jvm都会帮你做到最完整的定义形式,你只要写,没人说你错。
在接口里面成员方法的声明方式:
void show();
public void show2();
public abstract void show3();
都是一样的声明方式,不完整的jvm会自动补完整。