}
47我在方法里修改了一个对象的值,但是退出方法后我发现这个对象的值没变!
答:很可能你把传入参数重赋了一个新对象,例如下列代码就会造成这种错误:
publicvoidfun1(Aa)//a是局部参数,指向了一个外在对象。
{
a=newA();//a指向了一个新对象,和外在对象脱钩了。如果你要让a作为传出变量,不要写这一句。
a.setAttr(attr);//修改了新对象的值,外在对象没有被修改。
}
基本类型也会出现这种情况。例如:
publicvoidfun2(inta)
{
a=10;//只作用于本方法,外面的变量不会变化。
}
六、java.util篇
48java能动态分配数组吗?
答:可以。例如intn=3;Language[]myLanguages=newLanguage[n];
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/