一:什么是抽象类
由abstract修饰的类叫抽象类。抽象的类无法进行实例化,因为它不是具体存在的类,不能直接使用new关键字调用其构造器生成该类的对象。我们可以使用abstract定义一个抽象类和抽象方法。
列如:
定义抽象类使用关键字abstract,一般语法:
[访问权限] abstract class 类名 {成员列表}
如:
public abstract class Shapes {
public abstract void draw();
}
抽象方法
列如:
抽象方法也是使用关键字abstract声明抽象方法,一般语法:
[访问权限] abstract 返回值类型 方法名称(参数列表);
如:
public abstract void draw();
**抽象类的注意事项**
- 抽象类不可以直接实例化,只可以用来继承;
- 抽象类的派生子类应该提供对其所有抽象方法的具体实现;
- 可以这么认为,抽象方法实际上就是由抽象基类强制要求其派生子类必须实现的方法原型;
- 如果抽象类的派生子类没有实现其中的所有抽象方法,那么该派生子类仍然是抽象类,只能用于继承,而不能实例化;
- 抽象类中也可以包含有非抽象的方法;
- 构造方法和静态方法不可以修饰为abstract。