我想知道爲什麼在obj = w;
之後引用「w」會引發錯誤。你是不是隻是通過說obj = w來創建另一個指向該w實例的指針?即爲什麼說String s = "hi"; String w = s;
這樣的話謝謝!爲什麼此Java轉換會引發錯誤?
public class Casting {
public static void main(String[] args) {
// casting doesn't change the object
Object obj;
{
Stopwatch w = new Stopwatch();
obj = w;
}
System.out.println(obj); // this line does work
System.out.println(w); //this line does not work
}
}
迎刃而解'w'是斷章取義的,它只有內上下文中的'{...}'塊 – MadProgrammer
所以我們根本不知道這整個'obj對象;'東西 - 這些代碼行究竟發生了什麼?我們只學習了一個方法/類聲明,後面跟着一組花括號 - 從來不是一個對象。就像我會得到它,如果'對象obj;'被替換爲方法聲明,但這是一個...對象聲明? – rb612
請參閱[本](http://stackoverflow.com/questions/241088/java-what-do-curly-braces-mean-by-自己)。 – user1803551