java 函数参数赋值不起作用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 函数参数赋值不起作用相关的知识,希望对你有一定的参考价值。
public void T(T_Attr pT)
。。。。。。
pT.pCode = pT.pCode + aF2.pCode + "\t" + tmp + ":=" + aF1.place + "*" + aF2.place + "\n";
。。。。
T_Attr eT1 = new T_Attr();
T(eT1);
断点时 此函数赋值成功 (变量pCode为private String)
跳出函数 再次调用eT1.pCode发现刚才赋值不起作用了 不知道为什么
希望大家给出解决办法
已经弄好了 谢谢大家
正常的要调用T的话,只能eT1自己调用,那么eT1.pCode是改变了的~我试验过
或者创建一个新的eT2,由eT2来调用T,那么eT1.pCode也是改变了,但是eT2的话,整个函数和它就没什么关系,不变也很正常……
所以,为什么会在函数的参数里写上一个T_Attr对象呢?我不是很明白…… 参考技术A 代码多发点出来,就这么点,搞不清楚这些代码在什么类中,怎么看啊 参考技术B 不太清楚你的原来的类是怎么写的,方法是怎么调用的。所以也给不出办法。。。 如果还在,可以h!我,发源码看看有什么问题。 参考技术C pCode如果是private的怎么可以被访问
除非是同一个类内内的方法访问
同一个类内我刚试了pT的pCode在方法调用完后是改变了的
如下:
public class test
private String pcode="no";
public void T(test t)
t.pcode="yes";
public static void main(String[] args)
test test=new test();
System.out.println("before:"+test.pCode);
test.T(test);
System.out.print("after:"+test.pCode);
以上是关于java 函数参数赋值不起作用的主要内容,如果未能解决你的问题,请参考以下文章