代码之家  ›  专栏  ›  技术社区  ›  Prophet

我可以在Java中定义一个抽象方法而不使用抽象关键字吗?

  •  1
  • Prophet  · 技术社区  · 8 年前

    我知道我们只能在抽象类中定义抽象方法。我也知道我们不能单独实例化抽象类,它必须被继承(扩展)。我知道抽象方法迫使子类为该方法提供实现。

    我的问题是,只有在没有“abstract”关键字的情况下才能定义抽象方法?类似于:

    public abstract Animal
    { 
        public void makeNoise();
    }
    
    3 回复  |  直到 8 年前
        1
  •  2
  •   Santiago Salem    8 年前

    您可以创建 interface 这是一组不使用 abstract 关键字。如果您创建 abstract class ,则每个抽象方法都应该具有 摘要 关键字。

    检查 documentation 了解更多信息。

        2
  •  1
  •   Juan Carlos Mendoza    8 年前

    我的问题是,只有当我能在没有“abstract”关键字的情况下定义抽象方法时?

    不,你不能上课。这只能在接口上实现。

        3
  •  1
  •   djm.im Fan Cheung    8 年前

    我的问题是,只有当我能够在没有 “抽象”关键字?

    您不能这样定义抽象方法。
    抽象类可以包含方法的实现。因此,您必须标记哪个方法是抽象的,哪个不是抽象的。

    如果你创建了动物类

    public abstract class Animal {
        public void makeNoise();
    }
    

    Eclipse将建议您添加body或将方法更改为abstract。