抽象类实际上是为了抽象出某一列类的特征而提出的,必须要至少有一个抽象方法,不然没有任何意义,抽象方法只定义即可
最好是也有具体的非抽象方法,不然功能跟接口重复了
定义抽象类的时候需要用到关键字 abstract,放在 class 关键字前,就像下面这样。
abstract class AbstractPlayer {
}
抽象类命名要使用 Abstract 或 Base 开头
1、抽象类是不能实例化的,尝试通过 new 关键字实例化的话,编译器会报错
2、虽然抽象类不能实例化,但可以有子类。子类通过 extends 关键字来继承抽象类
3、如果一个类定义了一个或多个抽象方法,那么这个类必须是抽象类。
4、抽象类中既可以定义抽象方法,也可以定义普通方法,
5、抽象类派生的子类必须实现父类中定义的抽象方法。
6、抽象类应该至少有一个抽象方法,否则它没有任何意义。
我们希望一些通用的功能被多个子类复用的时候,就可以使用抽象类。
我们需要在抽象类中定义好 API,然后在子类中扩展实现的时候就可以使用抽象类。
参考:
https://javabetter.cn/oo/abstract.
抽象类实际上是为了抽象出某一列类的特征而提出的,必须要至少有一个抽象方法,不然没有任何意义,抽象方法只定义即可
最好是也有具体的非抽象方法,不然功能跟接口重复了
定义抽象类的时候需要用到关键字 abstract,放在 class 关键字前,就像下面这样。
abstract class AbstractPlayer {
}
抽象类命名要使用 Abstract 或 Base 开头
1、抽象类是不能实例化的,尝试通过 new 关键字实例化的话,编译器会报错
2、虽然抽象类不能实例化,但可以有子类。子类通过 extends 关键字来继承抽象类
3、如果一个类定义了一个或多个抽象方法,那么这个类必须是抽象类。
4、抽象类中既可以定义抽象方法,也可以定义普通方法,
5、抽象类派生的子类必须实现父类中定义的抽象方法。
6、抽象类应该至少有一个抽象方法,否则它没有任何意义。
我们希望一些通用的功能被多个子类复用的时候,就可以使用抽象类。
我们需要在抽象类中定义好 API,然后在子类中扩展实现的时候就可以使用抽象类。
参考:
https://javabetter.cn/oo/abstract.