2017-03-17 97 views
-1
class B{ 
A object; 
B(A object){this.object = object;} 
    void display(){System.out.println(object.data);}} 
class A{ 
    int data = 10; 
    A(){ 
     B b = new B(this); 
     b.display(); 
    } 
} 
public class Test { 
    public static void main(String[] args) { 
    A a = new A(); 
    } 
} 

任何人都可以解释这个程序,哪个部分首先执行以及如何传递值。解释程序:在构造函数中使用'this()'参数

+0

该代码不是C++,那么它为什么标记C++? – Peter

+0

如果这个问题是要削减,它将不得不重新措施。例如:你预期会发生什么,你为什么认为应该这样做。然后问“为什么不”。另外,代码必须以可接受的方式进行格式化。至少这会给我们一个实际的问题陈述来回答。 – YoYo

回答

0

你正在做

B b = new B(this); 
在A级

,这意味着要传递的参数A类的实际实例,即对象,你在这里创建了一个

public static void main(String[] args) { 
    A a = new A(); 
}