创建对象放在方法里面/外面,或者方法for里面/外面,有什么区别
public static void main(String []args)
{
randomDemo rd=new randomDemo(); //a
for (int i=0;i<25 ; i++)
{
rd.rd();
}
}
像这个a语句 放在for里面和外面运行结果一样 我不知道区别在哪
Random r=new Random();
void rd()
{
int a= r.nextInt();
System.out.println("a="+a);
还有这个Random对象 放在方法外面/方法里面.都不影响这个方法的调用
到底应该怎么写 如果是for一次 创建一次对象
那么垃圾回收也会把上一个对象收了吧
因为 那个引用又有新的对象用了 上个对象没了引用 就变垃圾了
求高手指点啊
------解决方案--------------------N个对象每个对象调用一次方法
和一个对象调用N次方法肯定不一样。
最基本的共享的成员变量就不一样,
第一种是各自使用各自的成员变量,
第二种是共享一个成员变量
------解决方案--------------------
路过 +1
很明显不需要创建那么多次对象,省资源很多
------解决方案--------------------放里面是每次都重新创建对象并调用,显然浪费资源空间,
一般都是放在外面,不过一下情况特殊。
for () {
Bean bean = new Bean();
bean.setXXX(XXX);
...
list.add(bean);
}
这种需要放在里面,经常有人问类似的问题。
------解决方案--------------------
++
------解决方案--------------------1、放在函数外面,是作为类的一个field存在的。而且是在调用该类的构造器之前就做了一次初始化。