2011-12-16 73 views
7

我讀source code of TextView和我遇到了這個代碼片段:Android的最終變量

RectF mTmpRectF = new RectF(); 
float[] mTmpOffset = new float[2]; 
ExtractedTextRequest mExtracting; 
final ExtractedText mTmpExtracted = new ExtractedText(); 

因此,有他們定義mTmpExtracted作爲最終的,但不是mTmpRectF。

我已閱讀此What does "final" do if you place it before a variable?哪裏有分析何時使用最終。

因此,因爲兩個對象(mTmpRectF & mTmpExtracted)可能是最終在這種具體情況下,是否有任何其他原因(即服務表現,等),只有一個被設置爲最終或它僅僅是一個開發者代碼風格?

謝謝!

回答

7

我會說extractText已經被設置爲final,所以在解壓後它不能被修改,因爲如果矩形被修改,編碼器不會被打擾。

+0

因此,除了需要時,將最終值賦給變量對開發人員來說是一種限制/警告,他不應該改變這個變量? – 2011-12-16 22:03:19