Java 声明抽象方法时指定默认返回值

Java 声明抽象方法时指定默认返回值,java,abstract-class,return-value,abstract-methods,Java,Abstract Class,Return Value,Abstract Methods,我有以下课程 界面: public abstract class MyAbstractClass { public abstract boolean checkSomething(); } 继承抽象类的类: public class MyClass extends MyAbstractClass { public boolean checkSomething() { return true; } } 在eclipse中创建MyClass时,会自动创建checkSome

我有以下课程

界面:

public abstract class MyAbstractClass
{
  public abstract boolean checkSomething();
}
继承抽象类的类:

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

在eclipse中创建MyClass时,会自动创建checkSomething()方法,但默认返回值为false。有没有办法在抽象方法定义中指定默认的返回类型?

没有,Java中没有“默认返回值”这样的东西。每个实现都应该自行决定——Eclipse使用的模板化方法恰好选择了false。考虑到您无论如何都应该替换方法体,我不认为这有多大问题


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

不,Java中没有“默认返回值”这样的东西。每个实现都应该自行决定——Eclipse使用的模板化方法恰好选择了false。考虑到您无论如何都应该替换方法体,我不认为这有多大问题

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

看看

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

请查看


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

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

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

您是在谈论eclipse自动放入代码的返回值,还是继承函数的返回值?您是在谈论eclipse自动放入代码的返回值,还是继承函数的返回值?