我有一个对象ClassA叫obj.之间有什么区别ClassA obj2 = obj;对比ClassA obj2 = new ClassA(obj);我的理解是否正确,第一个为 制作别名,obj而第二个制作了 的实际副本obj?
3 回答
慕容3067478
TA贡献1773条经验 获得超3个赞
您的第一个示例 ClassA obj2 = obj,本质上将一个新对象 obj2 设置为现有对象,希望是 ClassA 类型,这样,如果 obj 已经定义,则 obj2 在引用中与它相等,但在值中不相等。
第二个例子是实例化的例子,将使用带1个参数的初始化器或重载方法,如果有多个重载方法,则传入obj作为重载方法的参数(意味着ClassA需要有一个重载方法)接受类型 obj 的对象作为参数)。
- 3 回答
- 0 关注
- 167 浏览
添加回答
举报
0/150
提交
取消