我是新来的Java在Delphi和C#中编写了一段时间。我的问题涉及在变量声明和实例都在同一方法的范围内发生时,在包含实例化类的变量上使用“final”关键字。例如Java和使用Final关键字
private String getDeviceID() {
//get the android device id
final TelephonyManager tm =
(TelephonyManager)GetBaseContext().getSystemService(Context.TELEPHONY_SERVICE);
final String deviceID = tm.getDeviceId();
// log debug message containing device ID
Log.d(LOG_CAT, "getDeviceID: " + deviceID);
return deviceID;
}
好了,所以我觉得我得到的是“最终”变量永远只能一次分配,不能因改变在每个申报的“最后”关键字的事实,但不要两个变量出门方法退出时的范围?并再次调用该方法将简单地重新分配2个新的最终变量,它们将再次超出方法退出的范围。
对我来说,在这些变量上使用“final”关键字似乎有点奇怪?除非我不明白它们如何影响方法范围内的局部变量?
有人能告诉我“final”对于方法范围有什么影响,或者将这些特定变量声明为最终只是某人做的一个哑巴屁事?
p现在将指向“另一个杰克”。 ... 你确定?重新分配温度不应该影响p。 – 2011-12-30 03:20:34
@DavidWallace感谢您指出这一点。我删除了代码。 – 2011-12-30 03:28:51