我有以下课程
界面:
public abstract class MyAbstractClass
{
public abstract boolean checkSomething();
}
继承抽象类的类:
public class MyClass extends MyAbstractClass
{
public boolean checkSomething()
{
return true;
}
}
当我在eclipse中创建MyClass时,会自动创建checkSomething()方法,但将false作为默认返回值。有没有办法在抽象方法定义中指定默认的返回类型是什么?
答案 0 :(得分:3)
不,Java中没有“默认返回值”。每个实现都应该自己决定 - 它只是Eclipse使用的方法,它恰好选择了false。鉴于你无论如何都要替换方法体,我认为这不是问题所在。
如果“just return true”的默认实现是合理的,那么听起来checkSomething
首先不应该是抽象的 - 这是默认实现所在的位置,并且被想要提供的类覆盖更具体的行为。
答案 1 :(得分:3)
除此之外,您还可以创建自定义注释来实现相同目标。
答案 2 :(得分:0)
您不能在抽象方法声明中拥有方法主体。因此无法在抽象方法中指定默认返回值。这与IDE模板无关。