Java面向对象基础(6-抽象类)
抽象类
- 抽象方法和抽象类
- 抽象方法: 若一个父类中的一个方法仅仅是为了定义方法签名,让子类去覆写,不需要实现任何功能,那么这时候就可以把这个方法定义成抽象方法,抽象方法用
abstract
修饰。 - 抽象类: 如果一个类内含有抽象方法,那么因为无法执行抽象方法,所以这个类也要声明为抽象类,用
abstract
修饰。
abstract class Person{
abstract public void Hello();
}
用abstract
修饰的类就是抽象类,我们无法实例化一个抽象类。
Person ming = new Person(); //编译错误
抽象类除了无法被实例化,类的其他功能依旧存在,类的成员变量、成员方法和构造方法的访问方式和普通类一样。但是因为抽象类不能被实例化,只有通过继承,才能使用抽象类的方法。
抽象类中不一定有抽象方法,但有抽象方法的类一定是抽象类。
继承抽象方法的子类必须重写该方法,不然就只能声明成抽象类。