6 回答

TA貢獻1820條經驗 獲得超9個贊

TA貢獻1719條經驗 獲得超6個贊

TA貢獻1817條經驗 獲得超6個贊
每次循環可以當一個作用域吧,第二個是在同一個作用域里有兩個相同變量名了,肯定是不行的吧。
把第二個變量名改下就好了吧。
補充:你這個變量是循環內部的一個局部變量,你可以這么認為:這一次的循環和下一次的循環不在同一個作用域,所以你本質上是在不同的作用域創建了相同的名稱的變量。

TA貢獻1804條經驗 獲得超7個贊
while (true) {
int localValue = 100;
// int localValue = 200; // ERROR!在當前作用域,已經存在名為 localValue 的變量,不可重復聲明變量
}
int localValue = 200; // OK!當前作用域沒有名為 localValue 的變量

TA貢獻1998條經驗 獲得超6個贊
實際上這個只是變量重復聲明錯誤
ServerThread serverThread = new ServerThread(socket);
//serverThread 已經被聲明你是無法再次聲明。
serverThread = new ServerThread(socket);
你如果說這個的話就和大家說的一樣serverThread變量實際上在一次循環后就會被銷毀,再來到
ServerThread serverThread = new ServerThread(socket);
的時候serverThread實際上已經不存在了所以可以被重新聲明
添加回答
舉報