此代码对我来说没有意义
class MyClass{
MyClass obj = new MyClass();
public static void main(String[] args){
MyClass obj = new MyClass();
}
}
所以问题是类定义如何包含自己的对象创建?
例如,像上面的代码MyClass
实例变量obj
创建自己的对象。在这里,我想了解它是否有效,然后它如何在幕后实际工作,以及这样做的好处是什么..
需要详细解释..提前感谢
答案 0 :(得分:0)
问题在于,无论您是创建自己的对象还是其他任何对象,该课程都无法区分。 在幕后它的工作方式与任何其他对象构造相同,因此从字段初始化开始,在这种特殊情况下,使用以下行:
MyClass obj = new MyClass();
之后,正如人们在评论中提到的那样,它一遍又一遍地开始这样做,导致堆栈溢出。
答案 1 :(得分:-2)
您不能在Myclass定义中启动MyClass。
查看来自Bill Venners的这篇文章,构造函数基础知识: http://www.javaworld.com/article/2076614/core-java/object-initialization-in-java.html
class MyClass{
private int value;
public MyClass() {
value = 1234;
}
public MyClass(int setValue) {
value = setValue;
}
}
class Example3 {
public static void main(String[] args) {
// Create a MyClass object with default value
MyClass example1 = new MyClass();
// Create a MyClass with value 355
MyClass example2 = new MyClass(355);
}
}
我希望这会有所帮助。