前言:今天在代码中,又出现了这个问题,就是对象赋值给一个新的对象时,然后更改新对象中的属性,就会把老对象的值也更改,以前也遇到这个问题,只是没有深究,今天刚好又遇到了此问题,我决定写下来,和大家一起分享,也同样希望大家给出更加合理的解决方案,和原理. 通过这个简单的例子引出我所出现的问题: int j; j = ; int k; k = j; k = ; Console.WriteLine(string.Format("i={0},k={1}", j, k)); 代码很简单,输出的结果
例如 Class A { int x = 0; int y = 0; } public void test() { A test1 = new A( ); A test2 = new A( ); test1.x = 1; test1.y = 2; test2.x = 3; test2.y = 4; test1 = test2;//此时test1.x = 3; test1.y = 4
转:http://blog.sina.com.cn/s/blog_659a572b0100xp5s.html 例子如下 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MvcApplication2.Models; using DataAccess; using System.Configuration; using S
关于对象与引用之间的一些基本概念. 初学Java时,在很长一段时间里,总觉得基本概念很模糊.后来才知道,在许多Java书中,把对象和对象的引用混为一谈.可是,如果我分不清对象与对象引用,那实在没法很好地理解下面的面向对象技术.把自己的一点认识写下来,或许能让初学Java的朋友们少走一点弯路. 为便于说明,我们先定义一个简单的类: class Vehicle { int passengers; int fuelcap; int mpg; } 有了这个模板,就可以用它来创建对象: Vehicle v