class Qee
{
public static void main(String[]args)
{
Qqq q=new Qqq();
Qww w=new Qww(q);
System.out.println(q.get());
}
}
class Qww
{
Qqq k;//我想知道这里的声明和Qqq k=new Qqq();有什么区别
Qww(Qqq q)
{
this.k=q;
k.set(2);
}
}
class Qqq
{
int value;
public void set(int i)
{
value=i;
}
public int get()
{
return value;
}
}
//还有这道题的大概意思是什么

解决方案 »

  1.   

    Qqq k=new Qqq();回在内存中创建对象实例
    Qqq k;不会
      

  2.   

    这段代码没有什么太大意义 就是说类Qee有一个类Qww的属性 而类Qww又有一个Qqq类的属性 通过构造函数初始化这个属性至于Qqq k;//我想知道这里的声明和Qqq k=new Qqq();有什么区别
    这里如果写成Qqq k=new Qqq(); 那么这句Qqq k=new Qqq();会在构造函数里面语句执行以前调用 这就是属性的默认初始化但这里写成Qqq k=new Qqq();没有什么意义 因为Qww只有一个构造函数 确保了k的初始化。
      

  3.   

    Qqq k=new Qqq();
    创建一个叫K的Qqq对象,并为其在内存中划分出存储空间
    Qqq k;
    创建一个叫K的Qqq对象,但是在内存中不为他划分任何存储空间