抽象
- 定义抽象类时不能用final;
- 抽象类中可提供构造方法(遵循继承中构造方法调用原则);
- 抽象类中可以没有抽象方法;
- 抽象类中的抽象方法不能省略abstract关键字;
- 抽象类中可以出现static,并直接通过类名调用;
接口
- 命名规范:区分类名,接口名前+I;
interface IMessage{ }
- 接口中所有属性默认均为 public static final ,可省略;
- 接口中所有的抽象方法的访问权限都为 public abstract,可省略;
- 接口中的抽象方法可以出项 static 关键字,并直接通过接口名调用;
- 类上只能extends一个父类,接口可以extends多个父接口;
- JDK1.8后,可在接口中使用default,默认方法,但是该属于挽救方法,不应是设计首选(参考当接口变化,子类需疯狂重写的问题);
参考:https://blog.csdn.net/sinat_21843047/article/details/79920537