包含抽象方法的类称为抽象类,用 abstract 关键字修饰,但不意味着抽象类只能有抽象方法,抽象类和普通类一样都可以有普通方法和成员变量。主要区别如下:
(1)抽象方法必须为 public 或 protected,缺省情况下默认为 public。(因为如果是 private,则子类不能继承。)
(2)抽象类不能创建对象。
(3)如果一个类继承抽象类,则子类必须实现父类的抽象方法。如果没有实现父类的抽象方法,则必须将子类也定义为抽象类。
在其他方面,抽象类和普通类没什么区别。
包含抽象方法的类称为抽象类,用 abstract 关键字修饰,但不意味着抽象类只能有抽象方法,抽象类和普通类一样都可以有普通方法和成员变量。主要区别如下:
(1)抽象方法必须为 public 或 protected,缺省情况下默认为 public。(因为如果是 private,则子类不能继承。)
(2)抽象类不能创建对象。
(3)如果一个类继承抽象类,则子类必须实现父类的抽象方法。如果没有实现父类的抽象方法,则必须将子类也定义为抽象类。
在其他方面,抽象类和普通类没什么区别。