abstract抽象类
抽象类的应用场景:
描述一类事物的时候,发现该事物确实存在着某种行为,但是目前该行为是不具体的,
那么这时候我们应该抽取该方法的声明,不去实现该方法,这时候我们应该使用抽象类。-
抽象类要注意的细节:
- 如果一个方法没有方法体,那么该方法必须使用abstract修饰。
- 如果一个类有抽象的方法,那么该类也必须使用abstract修饰,或者使用接口。
- 非抽象类继承抽象类的时候,必须要把抽象类中的所有抽象方法全部实现。
- 抽象类可以定义抽象方法以及非抽象方法。
- 抽象类是可以不存在抽象方法的。
- 抽象类不能创建对象。
疑问: 为什么抽象类不能创建对象呢?
因为抽象类一旦创建了对象就可以使用对象去调用方法了,一旦调用了抽象方法就没有任何的意义了。 - 抽象类是存在构造方法的。
疑问:既然抽象类不能创建对象,那么存在构造方法的意义在那?
抽象类的构造方法是留给子类调用初始化从父类继续下去的成员变量的。
abstract不能与以下关键字配合使用
- private修饰符
- final关键字
- static关键字
值传递
调用一个方法时,传递给方法的是变量多存储的值。