java:面向对象-抽象类

如何产生的?

比如 Cat、Dog 类继承宠物 Pet,那么我们示例化(new Pet),其实是没有意义的,那么我们可以将 Pet 变为一个抽象类。

如何防止父类被实例化?

被 abstract 修饰的类,称为抽象类。

  • 抽象类不能被实例化
public abstract class 类名 {
    
    }

如何保证子类必须重写父类的方法?

被 abstract 修饰的方法,称为抽象方法。

  • 抽象类方法必须重写
// 省掉了方法名后面的 {}
public abstract 返回值类型 方法名();

抽象的特性

  • 抽象类不能被实例化
  • 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类。
  • 抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类。
  • 构造方法,类方法(用 static 修饰的方法)不能声明为抽象方法。

猜你喜欢

转载自blog.csdn.net/weixin_43972437/article/details/113837249