abstract class(抽象类)

  • $Why?$
  1. 在多继承层次中,当一个个新子类的定义,类变得越来越具体,而父类则更为一般化。所以类的设计应该保证父类和子类能够共享特征,有时候将一个父类设计得非常抽象,以至于他没有具体的实例,这样的类叫做抽象类。
  2. 用$abstract$修饰一个类时,这个类叫做抽象类;用$abstract$修饰一个方法时,该方法叫做抽象方法:其中抽象方法,只有方法的声明,但是没没有方法体的实现,以分号结束。
    abstract int abstractMethod(int x);     
  3. 抽象类不能被实例化,一般作为父类被继承。抽象的子类必须重写父类的方法,并提供方法体。若没有重写全部的抽象方法,仍为抽象类。 

  4. 不能用$abstract$修饰属性、私有方法、构造器(不能直接创建抽象类的实例对象,$new Class()$是非法的)、静态方法、$final$的方法。$final$修饰的类就是最终的类,不能被继承;而抽象类想要使用需要继承。
  5. 只要有一个抽象方法,类就是抽象类。                                 
posted @ 2020-09-14 17:49  Peterxiazhen  阅读(374)  评论(0编辑  收藏  举报