1

我有以下课程

界面:

public abstract class MyAbstractClass
{
  public abstract boolean checkSomething();
}

继承抽象类的类:

public class MyClass extends MyAbstractClass
{
  public boolean checkSomething()
  {
    return true;
  }
}

当我在 Eclipse 中创建 MyClass 时,会自动创建 checkSomething() 方法,但默认返回值是 false。有没有办法在抽象方法定义中指定默认返回类型应该是什么?

4

3 回答 3

3

不,Java 中没有“默认返回值”之类的东西。每个实现都应该自己决定——它只是 Eclipse 使用的模板方法恰好选择了 false。鉴于您无论如何都应该替换方法主体,我认为这不是问题所在。

如果“just return true”的默认实现是合理的,那么听起来checkSomething首先不应该是抽象的——这就是默认实现的所在,并被希望提供更具体行为的类覆盖。

于 2012-01-26T10:33:03.953 回答
3

看看eclipse 代码模板

除此之外,您可以创建自定义注释来实现相同的目的。

于 2012-01-26T10:35:11.457 回答
0

抽象方法声明中不能有方法体。因此无法在抽象方法中指定默认返回值。这独立于 IDE 模板。

于 2016-05-31T01:06:51.710 回答