我知道我们只能在抽象类中定义抽象方法。我也知道我们不能自己实例化抽象类,它必须继承(扩展)。我知道抽象方法强制子类为该方法提供实现。
我的问题是,只有在没有“abstract”关键字的情况下才能定义该抽象方法?类似的东西:
public abstract Animal
{
public void makeNoise();
}
答案 0 :(得分:2)
您可以创建interface
,这是一组抽象方法,而不使用abstract
关键字。如果您创建abstract class
,则每个抽象方法都应该包含abstract
关键字。
查看documentation了解详情。
答案 1 :(得分:1)
我的问题是,只有在没有"抽象"关键字? 强>
不,你不能上课。这只能在接口上使用。
答案 2 :(得分:1)
我的问题是,只有我可以定义没有的抽象方法 "抽象"关键字?
你无法用这种方式定义抽象方法 抽象类可以包含方法的实现。因为那样,你必须标记哪个方法是抽象的,哪个不是。
如果您创建Animal类
public abstract class Animal {
public void makeNoise();
}
Eclipse会建议您添加body或将方法更改为abstract。