2014-03-31 82 views
-3

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

public abstract void myMethod(); 

,而不是

public abstract myMethod(); 

时的方法不返回类型为void声明,会发生什么?

我想下面的方法声明也是错误的,因为'范围'符号的存在。

public abstract void myMethod() {} 

请澄清我的疑惑,因为我仍然是这方面的初学者。

+1

你可以声明一个方法作为公共抽象myMethod();? – TheLostMind

+1

'public abstract int getAnswer();'是有效的,显然没有定义为void –

+2

所有java方法都需要返回类型..不管是否抽象 –

回答

3

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

不,你可以给任何返回类型。

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

您必须给方法返回类型。没有任何返回类型声明的方法将不会编译。方法签名包括 - 方法名返回类型,形式参数如果任何名单,如果任何类型参数列表。你不能跳过前两个。

我想下面的方法声明也是错误的,因为存在'范围'符号。

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

0

号你可以把自己的返回类型在抽象类

2

时的方法不返回类型为void宣布会发生什么情况的方法的声明?

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

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

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

我想下面的方法声明也是错误的,因为'范围'符号存在 。

public abstract void myMethod() {} 

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

+0

”不,他们可以声明返回任何对象类型。“ - 实际上它不一定是一个*对象*。 – Maroun

+0

@MarounMaroun:是的,我的意思是任何类型的对象或原语。无论如何纠正它。 –

0

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

一种abstract方法可以有一个空隙或非void返回类型:

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

摘要仅确定当前方法/类将通过一些未来子类来定义。

相关问题