タグ付けされた質問 「final」

11
Javaで不変クラスfinalを宣言するのはなぜですか?
クラスをJavaで不変にするために、次のことを行う必要があることを読みました。 セッターを提供しないでください すべてのフィールドをプライベートとしてマークする クラスを最終にする ステップ3が必要なのはなぜですか?なぜクラスにマークを付ける必要があるのfinalですか?

7
Javaでは、キーワード「final」、「finally」、「finalize」はどのような目的で使用されますか?[閉まっている]
クローズ。この質問はもっと焦点を合わせる必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てるようにします。 10か月前に閉鎖されました。 この質問を改善する Javaでは、どのような目的は、キーワードを行いfinal、finallyそしてfinalize満たしますか?
82 java  final  finally  finalize 

8
Java Final変数にはデフォルト値がありますか?
私はこのようなプログラムを持っています: class Test { final int x; { printX(); } Test() { System.out.println("const called"); } void printX() { System.out.println("Here x is " + x); } public static void main(String[] args) { Test t = new Test(); } } それを実行しようとすると、次のようなコンパイラエラーが発生します:variable x might not have been initializedJavaのデフォルト値に基づいて、以下の出力を正しく取得する必要がありますか? "Here x is 0". 最終変数にはdafault値がありますか? …
81 java  final 

2
ArrayBlockingQueueで、最終メンバーフィールドをローカルの最終変数にコピーするのはなぜですか?
ではArrayBlockingQueue、ロックを必要とするすべてのメソッドは、をfinal呼び出す前にロックをローカル変数にコピーしますlock()。 public boolean offer(E e) { if (e == null) throw new NullPointerException(); final ReentrantLock lock = this.lock; lock.lock(); try { if (count == items.length) return false; else { insert(e); return true; } } finally { lock.unlock(); } } フィールドがであるときにthis.lockローカル変数lockにコピーする理由はありますか?this.lockfinal さらに、E[]アクションを実行する前にのローカルコピーも使用します。 private E extract() { final E[] items = this.items; …

7
java:「最終的な」System.out、System.in、およびSystem.err?
System.outとして宣言されpublic static final PrintStream outます。 ただし、呼び出しSystem.setOut()て再割り当てすることはできます。 え?もしそうなら、これはどのように可能finalですか? (同じポイントに適用されるSystem.inとSystem.err) さらに重要なことに、パブリック静的最終フィールドを変更できる場合、それfinalが提供する保証(ある場合)に関して、これはどういう意味ですか?(System.in/out/errがfinal変数として動作することを認識も期待もしていませんでした)
80 java  final 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.