22 抽象
22 抽象
关键字
abstract
出现的原因(猜测)
为了使非抽象子类重新书写父类或者祖先类的非私有化方法的方法体内容(返回值类型需要一致),-------即重写(实现),为多态(父类声明,子类实现)提供保障(只是继承的话,可以重写书写也可以不重新书写)
语法
//抽象类的语法
abstract class 抽象类名称{
属性;
......
访问权限 abstract 返回值类型 方法名称(参数1,参数2....参数n);
//被abstract修饰的必然是抽象方法
//若继承抽象类时不想重写抽象方法,那么就把该类设置为抽象类
}
特点
- 抽象类的子类(非抽象)一定要重写,若不重写,则该类必定是抽象类
- 我们把像抽象类的抽象方法一样没有方法体的重写叫做实现
- 抽象类不能被实例化
- abstract修饰的方法叫做抽象方法
- 具有抽象方法的类必定是抽象类,抽象类中不一定有抽象方法(如:抽象类继承抽象类)