29 java constructor
在关于这个话题的帖子后,我发现自己有点困惑.所以我再次问这个问题:
"Java构造函数是否返回任何值?"
我的书说他们不能回报价值,但我的教授说他们可以而且他们总是这样做.
由于控件需要转移给某些有价值的人无效?
das*_*ght 34
这有点令人困惑:构造函数确实没有返回值; 它是运营商new.但是,构造函数总是与new*一起使用,因此它们看起来总是返回一个值.
new如果你经历反射,你可以使用构造函数.但是,相同的机制将起作用.
我认为这种混淆纯粹是符号的.声明构造函数时,您可以这样做:
public class Foo {
public Foo() {}
}
Run Code Online (Sandbox Code Playgroud)
这里没有明确的返回值.
但是,在实例化对象时,语法如下:
Foo foo = new Foo();
Run Code Online (Sandbox Code Playgroud)
这通过分配内存并调用构造函数来创建新对象.在这里,结果显然是一个例子Foo.
调和明显冲突符号的一种方法是将构造函数视为返回正在构造的对象,但隐式地这样做.
构造函数是特殊方法。构造函数和方法的基本区别是
建设者
而
方法
方法的语法:
AccessModifier ReturnType类(...)
EG: 公共静态void main(String [] args)
构造函数的语法:
AccessModifier 否ReturnType类(...)
EG: 公共静态main(String [] args)
请注意:
Java是一种强类型语言,因此每个函数都有其返回类型,构造函数始终返回该类的实例。