public XX extends Action
{
List list=new ArrayList();
public void fun();
public void fun1();
}
我知道 全局的list 在调用 action类的时候不管用没用到 都会在内存中创建个地址
在调用了 fun() 会给list指向一个空间(我不知道说'指向空间'用词是否正确!呵呵) 当方法结束后 list 还会指向那个空间么? 这个地址会销毁么?还是依然存在内存中并指向之前的那个空间?
如果给 list 加上 set get 方法 时候set 或get 方法 和直接时候list赋值有什么区别么?
{
List list=new ArrayList();
public void fun();
public void fun1();
}
我知道 全局的list 在调用 action类的时候不管用没用到 都会在内存中创建个地址
在调用了 fun() 会给list指向一个空间(我不知道说'指向空间'用词是否正确!呵呵) 当方法结束后 list 还会指向那个空间么? 这个地址会销毁么?还是依然存在内存中并指向之前的那个空间?
如果给 list 加上 set get 方法 时候set 或get 方法 和直接时候list赋值有什么区别么?
你的xx类实例化之后,就会有一个list对象同时被创建
list的生命周期跟xx类的对象一致,就是说,只要XX类的对象还在,list里面的东西就会一直保存在内存
get set方法是提供给外部操作list的方法,list最好定义成private
给list加上get,set方法和直接赋值没有区别,只是你的list是默认的包级访问,只能在同一包内才能访问到这个类的list。
如果你加了get,set方法,而且方法的修饰符为public的话,就没有访问的限制,哪里都可以访问到。说的不正确的地方请楼下的指正,谢谢。
如果我在方法中改变了list的引用,或者把null给list,list在内存中还是可以改变的吧。
{
List list=new ArrayList(); // 这个list 不叫全局变量么? 还是java中没有全局变量这一说 学名叫属性啊?
public void fun();
public void fun1();
}
别的先不提阿
先说说你的代码的含义吧public XX extends Action 这一句,乍一看,好像是个方法,
其实不对,方法中怎莫能出现extends关键字呢如果说是类,怎莫没有class关键字呢
因为对象还存在,所以LIST还没释放。当对象不存在了,该LIST就释放了
因为对象还存在,所以LIST还没释放。当对象不存在了,该LIST就释放了