开发测试学习
目录

有时你需要定义一个给出抽象结构、但不给出每个成员函数的完整实现的类。如果某个成员函数没有完整实现,必须要由子类来覆盖,你可把它声明为抽象(abstract?copy;型。含有抽象型成员函数的类必须声明为抽象的。为了把一个类声明为抽象的,你只需在类定义的class关键词前放置关键词abstract。这?copy;类不能直接用new操作符生成实例,因为它们的完整实现还没有定义。你不能定义抽象的构造函数或抽象的静态成员函数。抽象类的子类或者实现了它的超类的所有抽象的成员函数,或者也被声明为抽象的。下面例子是一个带有抽象成员函数的类,其后是一个实现了该成员函数的类。

  abstractclassA{
    abstractvoidcallme();
    voidmetoo(){
      system.out.println(\"在A的metoo成员函数里\");
    }
  }
  classBextendsA{
    voidcallme(){
      System.out.println(\"在B的callme成员函数里\");
    }
  }
  classAbstract{
    publicstaticvoidmain(Stringargs[]){
      Aa=newB();
      a.callme();
      a.metoo();
    }
  }

下面是运行结果:C:\>javaAbstract在B的callme成员函数里在A的metoo成员函数里