1.抽象类 & 普通类
- 抽象类不可以被实例化
- 普通类可以被实例化
2.抽象方法 & 普通方法
- 抽象方法没有方法体
- 普通方法有方法体
3. 抽象类的特征
- 抽象类中可以没有抽象方法,但是包含抽象方法的类一定是抽象类
- 如果子类没有实现父类所有的抽象方法,子类必然是抽象类
- 没有抽象的构造方法,也没有抽象的静态方法
- 可以有非抽象的构造方法
4.方法有哪些:
- 普通方法
- 静态方法/类方法 – static 修饰
- 构造方法 – 没有返回值
- 抽象方法 – 没有方法体
5.接口
- 接口是一种能力,是一种约定,不用关心具体的实现
- interface implements
- 接口可以继承接口,不能实现接口
- 接口中所有的方法都是 public abstract
- 接口中所有的变量都是 public static final
- 继承是单继承(is a ) ,接口可以多实现(has a)
- 非抽象子类必须实现接口中所有的方法
6.接口和抽象类
-
相同点
①都表示的抽象层
②都不能实例化
③都可以包含抽象方法 -
不同点
①关键词:抽象类(abstract class) 接口(interface)
②抽象类可以有普通方法,接口不可以
③抽象类可以有构造方法,接口不可以
④抽象类可以单继承(extends),接口可以多实现(implements)