你声明对象a2 a=new a2();就用a这个对象访问,值会变为90。
如果你又声明你个对象a2 newa=new a2(); newa访问时textValue的值还是100
a和newa两个对象是不同的,各自拥有各自的资源。
楼主应该是新手吧 值不可能不改变的
应该是你弄错了对象吧?
A a1,a2;
a1 = new A();
a2 = new A();
你用a1调用OnDamage,a2当然不会改变咯
你把代码贴出来吧,看样帮你看看
你代码上减的是a2类中的值啊,而且你的变量是public,不知道还有谁会在外面修改这个变量的值。
你new这个对象后,不要把它弄丢就好了。即你在调用的地方,吧对象的实例变成全局的,每次调用用这个全局的实例就好啦
你写的OnDamage方法返回类型为void~你方法中blood的操作并不会被保留,当然是不会改变blood的值