Home  >  Q&A  >  body text

java为什么用abstract类实现接口

java为什么用abstract类实现接口

怪我咯怪我咯2647 days ago341

reply all(3)I'll reply

  • PHP中文网

    PHP中文网2017-04-17 14:42:23

    用抽象类实现接口,抽象类可以不用实现接口的方法,同时可以在抽象类中定义抽象的和不抽象的方法;
    子类继承抽象类,必须实现抽象类中的抽象方法和接口定义的全部方法,同时子类可以直接继承父类的非抽象方法,这样继承使用,更加灵活,拓展性更好,代码更少。
    例如:如果要拓展一个子类公用方法,可以直接在父类中添加实现,如果子类实现不同的方法,但是又要遵循统一接口的就可以在接口中定义,如果需要父类定义一个不完整的方法,就可以在父类中定义一个抽象方法,这样看起来,就比较灵活。
    您看,是不是这个理?码农一枚,一起学习!

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 14:42:23

    假如 B是一个抽象类A是一个接口 那么,我想你是想问这句话 abstract class B implements A 吧。
    被abstract修饰B的是一个抽象类,因此,他不用实现A申明的所有接口,他等着他的子类去实现,因此,这样做的好处是,子类可以专注自己的逻辑。而统一需要处理的事情可以在 B中去做。

    reply
    0
  • ringa_lee

    ringa_lee2017-04-17 14:42:23

    java8 引入了 default方法,可以减少abstract类的编写,但是仅限方法变量调用,涉及到类变量调用还得 定义统一抽象类。

    reply
    0
  • Cancelreply