一、抽象类
在java中抽象的关键字为abstract,抽象类被创造出来就是为了继承,简单明了地告诉用户跟编译器自己大概是长什么样子的。例如抽象类申明的语法:
abstract class Abc {
abstract void fun();
}
抽象类有以下几个特性:
- 1、抽象方法必须为public、protected(若为private,则不能给子类继承,子类无法实现该方法,所以无意义),缺省时为public;
- 2、抽象类不能直接用来创建对象,必须由子类继承并实现其父类方法才能创建对象;
- 3、抽象类可以继承抽象类,子类必须复制继承父类的抽象方法;
- 4、只要包含一个抽象方法的抽象类,该方法必须要定义成抽象类,不管是否还包含有其他方法。
二、接口
在java中抽象的关键字为interface,接口也可以说是一个更加抽象的抽象类,对行为进行抽象,只提供一种形式,并不提供实施的细节。
接口的语法如下:
[public] interface InterfaceName {
}
继承时采用关键字implements:
class ClassName implements Interface1,Interface2,[....]{
}
接口有以下几个特性:
- 1、接口可以包含变量,成员变量会被隐式地指定为public static final变量(并且只能