疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

程序员新手入门之抽象类


 

  抽象类:在Java中,含有抽象方法的类称为抽象类。

  抽象方法:没有方法体(方法实现)的方法就是抽象方法,需要用关键字abstract修饰。

  抽象类作用:作为基类,强制子类实现父类中的抽象方法。

  抽象类的特征:抽象类是不完整的,并且它只能用作基类。它与非抽象类的不同:

  A. 抽象类不能直接实例化,并且对抽象类使用 new 运算符是编译时错误。虽然一些变量和值在编译时的类型可以是抽象的,但是这样的变量和值必须或者为 null,或者含有对非抽象类的实例的引用(此非抽象类是从抽象类派生的)。

  B. 允许(但不要求)抽象类包含抽象成员。也即有抽象方法的类一定是抽象类;抽象类不一定有抽象方法。

  C. 抽象类不能被密封。

  当从抽象类派生非抽象类时,这些非抽象类必须具体实现所继承的所有抽象成员,从而重写那些抽象成员。在下边的示例中:

  abstract class A {

  public abstract void F();//抽象类 A 引入抽象方法 F

  }

  abstract class B extends A {

  //类 B 引入另一个方法 G,但由于它不提供 F 的实现,B 也必须声明为抽象类

  public void G() {}

  }

  class C extends B {

  //类 C 重写 F,并提供一个具体实现。由于 C 中没有了抽象成员,因此可以(但并非必须)将 C 声明为非抽象类

  public void F() { // actual implementation of F}

  }

  疯狂软件学院是广州java培训中最权威的培训机构,一流的师资,一流的技术助你成为最牛的软件开发工程师,想了解更多,请登陆疯狂软件学院官网http://www.fkjava.org/