2011-12-16 13 views
7

私はsource code of TextViewを読んでいたし、私は、このコードスニペットを満たし:アンドロイドfinal変数

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

だから、そこに彼らは最後のではなく、mTmpRectFとしてmTmpExtractedを定義します。

私はこのWhat does "final" do if you place it before a variable?を読んでいます。ここでは最終使用時期を分析しています。

したがって、両方のオブジェクト(mTmpRectF & mTmpExtracted)がこの特定のケースで最終的になる可能性があるため、finalに設定されているのは1つだけか、それとも開発者のコ​​ードスタイルですか?

ありがとうございます!

答えて

7

私は、extractTextがfinalに設定されているので、抽出後に変更することはできないと言います。ここでは、矩形が変更された場合にはコーダが気にならないでしょう。

+0

これが必要な場合を除いて、finalに変数を代入することは、この変数を変更すべきではないという開発者の一種の制限/警告です。 –

+1

はい、これが理由で最終状態であると宣言しています。 – Blundell