Javaクラスにメソッドがあるとします。そのメソッドのサブクラスでそのメソッドをオーバーライドできないようにします。それをしてもいいですか?サブクラスのJavaメソッドのオーバーライドを禁止する
29
A
答えて
47
あなたはのように、final
する方法を宣言することができます。http://docs.oracle.com/javase/tutorial/java/IandI/final.html
7
は単に方法が最終作る参照、
詳細情報についてはpublic final String getId() {
...
}
。
3
メソッドがビルド済みAPIの一部ではなく、直接サブクラスから呼び出されない場合は、単にメソッドをprivate
にすることをお勧めします。
クラス階層が単一のパッケージに含まれている場合は、スコープのキーワードなしでパッケージスコープでメソッドを作成します。したがって、外部の世界(あなたの他のパッケージに含まれている)だけがそれにアクセスすることができないため、それを無効にすることはできません。
あなたの方法が本当にあなたのAPIの一部ではありませんが、でも、外部のサブクラスによって見えるように持っている場合は、あなたの方法はあなたのAPIの一部である場合、それはprotected
と
final
最後に、作る作る好むそれpublic
とfinal
。
関連する問題
- 1. 防止/サブクラスがオーバーライド部材
- 2. インタフェースメソッド以外のメソッドを禁止する
- 3. XNA禁止drawメソッド
- 4. Java:拡張クラスの特定のメソッドを禁止しますか?
- 5. Pythonでサブクラスを共有するクラスの禁止?
- 6. Javaでメソッドをオーバーライドする
- 7. 私のクラスのサブクラス化を禁止する方法はありますか?
- 8. HTTP 403禁止リクエスト時の禁止ジャージ
- 9. Parallel.ForEachの使用を禁止または禁止する
- 10. JavaのClone()メソッドのオーバーライド
- 11. Javaでのスカラ・メソッドのオーバーライド
- 12. オーバーライドのtoString()メソッドのJava
- 13. サブクラスのメソッドをサブクラス化された引数でオーバーライドしますか?
- 14. Objective-c:すべてのサブクラスでメソッドをオーバーライドします
- 15. Java:メソッドのオーバーライドと型キャスト
- 16. pyqt4:サブクラスのないメソッドをオーバーライドできますか?
- 17. Java - オーバーライド抽象メソッド
- 18. メソッドのサブクラスではない即時クラスのメソッドをオーバーライドできますか?
- 19. ReSharperのホットキー:特定のメソッドをオーバーライドして、サブクラス
- 20. QTextEditサブクラスのkeyPressEventをオーバーライド
- 21. java mvcがビューへのアクセスを禁止する
- 22. 単一のJavaクラスを使用して禁止する方法
- 23. Javaのサブクラスへのメソッドの委託
- 24. '禁止された'ファイルを禁止するSonarQubeルール
- 25. サブクラスの@ Observes修飾子をオーバーライドする
- 26. UITableViewControllerサブクラスのloadViewをオーバーライドする
- 27. サブクラスの@Autowiredプロパティをオーバーライドするには
- 28. サブクラス拡張のオーバーライドされたメソッドへの迅速なディスパッチ
- 29. サブクラスでのinitのオーバーライド
- 30. モデルを禁止する
これは非常に明白です。なぜ私はこれについて考えなかったのですか? – xorinzor