public void func(MankindReference1 m)
 {m.salary=2;
  salary=3;
 }
func 无法访问私有的salary
即m.salary=2;的问题

解决方案 »

  1.   

    就你给的代码来说没有任何问题 不知道楼上的兄弟是怎么把salary理解成是私有的  如果没有
    程序运行的结果是
    person1.salary=1person2.salary=0
    person1.salary=3person2.salary=0
    person1.salary=2person2.salary=0
    如果不要salary=3;这一句结果又是
    person1.salary=1person2.salary=0
    person1.salary=2person2.salary=0
    person1.salary=2person2.salary=0
    我的理解是
    m.salary=2;
    salary=3;
    操作的都是同一个内存空间上的量 
    即在
    person1.func(person1);中  的salary 是person1的salary 
    而m.salary而m所指向的也是person1的salary  两句指向同一个空间 当然是按先后次序来改变了