接口
总结:
1.接口中定义方法和属性推荐使用默认的写法也就是void run不用写修饰符,会默认有public abstract修饰符。属性默认是静态常量有public static final,可以在被继承的类中使用(作用和继承一致)
2.java是单继承但是可以通过实现多个接口的方式实现“伪多继承”。
3.接口不能被实例化,没有构造器。
4.implements可以实现多个接口(必须重写接口中的方法)
VS 抽象类
抽象类和接口都不能被实例化。
抽象类可以有非抽象的方法,接口却不行。(抽象类也可以没有抽象方法,但是抽象方法所在的类一定是抽象类。)
总结:
接口是特殊的抽象类。