假设我们有一个像这样的类:
class XCopy {
public static void main(String[] args) {
int orig = 42;
XCopy x = new XCopy();
int y = x.go(orig);
System.out.println(orig + " " + " y);
}
}
我知道go方法缺失但没关系.这有用吗?它看起来是这样,但我无法在脑海中描绘出课堂内的自我引用是如何起作用的;它有任何副作用吗?为什么这样做?这不是某种无限的递归循环吗?
无论如何,我只是无法弄清楚它是如何工作的;提前致谢.
解决方法:
通过电话
XCopy x = new XCopy();
你实际上是在调用XCopy的空构造函数,而不是再调用main方法.
所以,调用看起来像:
JVM calls XCopy.main();
main method creates new instance of XCopy by calling XCopy's empty constructor
XCopy constructor ends
main method ends -> program ends
标签:java,oop,object,class
来源: https://codeday.me/bug/20190715/1471317.html