黑马程序员技术交流社区
标题:
代码找错
[打印本页]
作者:
樊占江
时间:
2012-8-18 01:42
标题:
代码找错
class Info
{
private String name;
}
class Scz
{
private Info info;
Scz(Info info)
{
this.info=info;
}
}
class Xfz
{
private Info info;
Xfz(Info info)
{
this.info=info;
}
}
为什么 Scz 和Xfz 是操作同一个资源。。 不解。
作者:
牛杨
时间:
2012-8-18 02:02
本帖最后由 牛杨 于 2012-8-18 02:13 编辑
感觉你问的问题不明不白的,那我就给你分情况解答吧!
如果你这样写的话:
public static void main(String[] args)
{
Info info=new Info();
Scz scz=new Scz(info);
Xfz xfz=new Xfz(info);
}
那么这
两个对象 scz和xfz使用的都是同一个 info对象
。因为你只定义了一个info对象,然后都传给了 Scz和Xfz的构造函数。
但是如果你这么写的话:
public static void main(String[] args)
{
Info info1=new Info();
Info info2=new Info();
Scz scz=new Scz(info1);
Xfz xfz=new Xfz(info2);
}
那么
这两个对象 scz和xfz使用的分别是两个 Info对象
scz使用的是info1、xfz使用的是info2。因为你只定义了两个不同的info对象,然后才传给了 Scz和Xfz的构造函数的。
作者:
李知伦
时间:
2012-8-18 02:19
只是在构造器中指定了参数类型是Info类,而且还是个只有私有属性的,没有对外方法的类
什么是操作同一个资源? 貌似没什么好操作的.....
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2