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. XNA禁止drawメソッド
- 2. 防止/サブクラスがオーバーライド部材
- 3. Java:拡張クラスの特定のメソッドを禁止しますか?
- 4. Javaでメソッドをオーバーライドする
- 5. Parallel.ForEachの使用を禁止または禁止する
- 6. 私のクラスのサブクラス化を禁止する方法はありますか?
- 7. サブクラスのメソッドをサブクラス化された引数でオーバーライドしますか?
- 8. Objective-c:すべてのサブクラスでメソッドをオーバーライドします
- 9. Java - オーバーライド抽象メソッド
- 10. pyqt4:サブクラスのないメソッドをオーバーライドできますか?
- 11. java mvcがビューへのアクセスを禁止する
- 12. 単一のJavaクラスを使用して禁止する方法
- 13. ReSharperのホットキー:特定のメソッドをオーバーライドして、サブクラス
- 14. モデルを禁止する
- 15. QTextEditサブクラスのkeyPressEventをオーバーライド
- 16. Javaのサブクラスへのメソッドの委託
- 17. UITableViewControllerサブクラスのloadViewをオーバーライドする
- 18. サブクラスでのinitのオーバーライド
- 19. フォームの送信を禁止する - jquery?
- 20. PHPファイルのアップロードを禁止する
- 21. 禁止ファイルタイプdocx
- 22. 禁止する文字
- 23. Java:メソッドをオーバーライドするときにパラメータのサブクラス/サブタイプに置き換えますか?
- 24. 基本クラスとサブクラスのJava等価メソッド
- 25. スカラ:Javaインターフェイスからのメソッドのオーバーライド
- 26. Javaのequalsメソッドのオーバーライドについて
- 27. オーバーライドのないサブクラス(エイリアスクラス)
- 28. サブクラスによるメソッドの追加の防止
- 29. JavaのOOPは:スーパークラスからサブクラスのオブジェクトの使用方法は、(そのメソッドがオーバーライドされている)
- 30. Java:抽象クラスの特定のサブクラスをインスタンス化するメソッド
これは非常に明白です。なぜ私はこれについて考えなかったのですか? – xorinzor