- 接口:①常量:(public final static)int ...
②抽象方法:(public abstract)void ...
②非抽象类:必须重写接口中所有方法:(pubic void)。
- 程序可用接口名直接访问接口常量,实现接口的类可直接使用。
- 接口也可赋予权限(关乎可否被类实现)。
- 子类可实现父类实现的接口(无需再次声明implements)。
- 接口之间可被继承。(public→继承所有方法和常量)
- 接口回调:把实现某一接口的类创建的对象的引用赋值给该接口声明的接口变量,该接口变量就可调用被类实现的接口方法(无法调用类中的非接口方法【类似上转型对象】)。
- 如果一个方法的参数是接口类型,则可将实现该接口的类的实例的引用传递给该接口参数,那么接口参数可回调类实现的接口方法。
- abstract类和接口的比较:
①都可以有abstract方法
②abstract类中可有常量和变量,接口中只可以有常量
③abstract类中可以有非abstract方法,接口不可以
- 设计程序时,如果子类除了需要重写父类的abstract方法,还要从父类继承一些变量或继承一些非abstract方法,则考虑用abstract类(继承)。
接口与实现
原文:https://www.cnblogs.com/rongbin/p/9353698.html