【发布时间】:2010-08-17 11:03:23
【问题描述】:
以下代码给出编译错误:
class parent {
parent(int a){}
}
class child extends parent{}
错误:
Main.java:6: cannot find symbol
symbol : constructor parent()
location: class parent
class child extends parent{}
^
1 error
我尝试做不同的事情,发现向父构造函数添加返回类型可以消除错误!!!
class parent {
int parent(int a){}
}
class child extends parent{}
我读过构造函数不应该有返回类型,这显然不是一直正确的。所以我的问题是我们什么时候应该有构造函数的返回类型?
【问题讨论】:
-
您缺少
public访问修饰符,不是吗? -
这样想可能更容易一些:如果它有返回类型,它就不是构造函数,它是一个方法。
-
以后,永远不要说“编译错误”,只说“编译错误并带有消息'yabba dabba'”。您不应忽略该消息,它会说明问题的原因。
-
实际上,伙计们,这个问题毕竟有一些优点。投票重新开放。对不起,我在那里太仓促了。
-
您可以将构造函数视为具有当前类名的返回类型,但没有方法名,如果这样更容易的话。
标签: java constructor