2012年8月5日 星期日

重新指派法

請問一下大家,昨天小孟老師的第二題範例(重新指派法).
第一個問題:
有沒有test t=new test();這行.
因為想說是static頂層方法,可以直接去存取,不需要再建立物件.
想說是不是我打字的時候打錯?
第二個問題:
關於GC回收,因為會回傳s,是否是main方法內的s被回收?

public class test
{
        public static void main(String args[])
        {
                test t=new test();
                StringBuffer s=getStringBuffer();
                System.out.println("s="+s);
        }
        static StringBuffer getStringBuffer()
        {
                StringBuffer s=new StringBuffer("java");
                return s;
        }
}


A:
>>第一個問題:
>>有沒有test t=new test();這行.
你可以試試看,即使把這行mark之後一樣可以執行,因為這個t 確實沒用到

>>第二個問題:
>>關於GC回收,因為會回傳s,是否是main方法內的s被回收?
假如是 main方法內的s被回收,那誰要來接收getStringBuffer所回傳的s?

沒有留言:

張貼留言