請問一下大家,昨天小孟老師的第二題範例(重新指派法).
第一個問題:
有沒有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?
沒有留言:
張貼留言