关于java声明的问题!
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;
}
}
//还有这道题的大概意思是什么
------解决方案--------------------这段代码没有什么太大意义 就是说类Qee有一个类Qww的属性 而类Qww又有一个Qqq类的属性 通过构造函数初始化这个属性
至于Qqq k;//我想知道这里的声明和Qqq k=new Qqq();有什么区别
这里如果写成Qqq k=new Qqq(); 那么这句Qqq k=new Qqq();会在构造函数里面语句执行以前调用 这就是属性的默认初始化
但这里写成Qqq k=new Qqq();没有什么意义 因为Qww只有一个构造函数 确保了k的初始化。