抽象类
在定义一个类时,常常需要定义一些成员方法描述类的行为特征,但有时这些方法的实现方式是无法确定的。针对这种情况,Java提供了抽象方法来满足这种需求。抽象方法就是使用abstract关键字修饰的成员方法,抽象方法在定义时不需要实现方法体。格式如下:
abstract 返回值类型 方法名称(参数);
当一个类包含了抽象方法,则这个类必须是抽象类,抽象类和抽象方法一样,必须使用abstract关键字进行修饰。格式如下:
abstract class 抽象类名称{
属性;
访问权限 返回值类型 方法名称(参数){
return(返回值);
}
访问权限 abstract 返回值类型 抽象方法名称(参数);
}
从上面可以发现,抽象类的定义比普通类多了一些抽象方法,其他地方与普通类基本相同。
抽象类的定义规则:
包含抽象方法的类必须是抽象类,但抽象类不一定包含抽象方法;
抽象类和抽象方法都必须使用abstract关键字进行声明;
抽象方法只需要进行声明而不需要实现,抽象方法没有方法体,不能被调用;
如果一个类继承了抽象类,那么这个类必须实现抽象类中的所有抽象方法。
注意:使用了abstract关键字修饰的抽象方法不可以使用private修饰,因为抽象方法必须被子类实现,如果使用private声明,则子类无法实现该方法。