java中的所有抽象方法都是用void返回类型声明的吗?

时间:2014-03-31 10:57:27

标签: java abstract void

java中的所有抽象方法都必须使用void返回类型声明吗? 即

public abstract void myMethod();

而不是

public abstract myMethod();

当方法未使用void返回类型声明时会发生什么?

我认为由于存在“范围”符号,下面的方法声明也是错误的。

public abstract void myMethod() {}

请澄清我的疑虑,因为我仍然是这个领域的初学者。

4 个答案:

答案 0 :(得分:3)

  

java中的所有抽象方法都必须使用void return type?

声明

没有。您可以提供任何退货类型。

  

当方法未使用void返回类型声明时会发生什么?

您必须为方法提供返回类型。声明没有任何返回类型的方法将无法编译。方法签名包括 - 方法名称返回类型形式参数列表(如果有),类型参数列表如果有的话。你不能跳过前两个。

  

我认为由于存在“范围”符号,下面的方法声明也是错误的。

我猜你的意思是“花括号”。是的,无法编译。 abstract方法不能有身体。

答案 1 :(得分:2)

  

当方法未使用void返回类型声明时会发生什么?

在Java中,您应该声明方法在其签名中返回的内容。它可以是void或其他一些对象类型或基本类型。无论是抽象方法还是普通方法都无关紧要。

  

java中的所有抽象方法都必须使用void return type?

声明

不,他们可以声明返回任何对象类型,基本类型,并且还声明返回void以表示它什么都不返回。

  

我认为如下所示的方法声明也是错误的   存在“范围”符号。

public abstract void myMethod() {}

是的,这是错的。抽象方法不能有方法体。这是编译错误。

答案 2 :(得分:0)

没有。您可以将自己的返回类型放在抽象类的方法声明

答案 3 :(得分:0)

方法是否为abstract与方法返回类型无关。

abstract方法可以具有void或非void返回类型:

public absract int getValue();
public absract void doSomething();

Abstract仅确定当前的方法/类将由未来的某些子类定义。