1.抽象类
- 类不含抽象的方法,也可以将类声明为抽象类。即抽象类可以含有非抽象的方法,当然也可以含有抽象的方法。
- 有抽象方法的类一定是抽象类
- 抽象类还可以包含具体的数据
- 抽象类不能被实例化,但可以定义一个抽象类的对象变量,它只能引用非抽象类的对象
- 扩张抽象类有两种选择,一种是子类定义部分抽象方法或抽象方法也不定义,这样子类也必须标记为抽象类。另一种定义全部的抽象方法,子类就不是抽象类了
- 接口只能有抽象的方法,不能在接口中实现方法
- 可以在接口中定义变量但只能public static final 类型
- 接口不能被实例化,但可以定义一个接口的对象变量,它只能引用实现其所有抽象方法类的对象
- 接口可以继承接口,且可以多继承