语法定义理解
项目 | 抽象类 | 接口 |
---|---|---|
成员变量 | 实例变量+类变量 | 不可有类变量。实例变量默认用public static final 修饰 |
初始化块 | 可包含 | - |
构造函数 | 可包含。并不是用于创建对象,而是让子类调用这些构造器来完成抽象类的初始化操作 | 不可有。在构造函数中可对属性进行初始化,而接口中所有变量都是public static final 常量 |
方法 | 可包含抽象方法(必须用abstract修饰)+普通方法 | 不可包含普通方法。方法默认用public absract 修饰,实现类必须实现全部方法 |
内部类 | 可以有 | 可以有 |
一般性理解
接口是对动作的抽象,抽象类是对根源的抽象。
男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。
人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它。