プライベートメソッドをプライベートクラスにしました。私はSafeVarargsアノテーションを使いたいと思います。しかし、私は静的メソッドまたは最終メソッドを持つ必要があります。プライベートメソッドも最終的に必要なのはなぜですか?これは冗長ではないですか?java @SafeVarargsプライベートメソッドをfinalにする必要があるのはなぜですか?
答えて
これは重複しており、優れた点があります。
finalまたはstaticの要件の本当の理由は、メソッドをオーバーライドできないようにすることでした。したがって、サブクラスは@SafeVarargsアノテーションを定義上役に立たない方法でデータを改ざんできませんでしたメソッドの。
しかし、それは冗長ですが、多くの場合、プログラマーはすべてのメソッドを可能な限りプライベートにして、必要に応じてゆっくりクラスを開くようにします。このメソッドがプライベートスコープにあるときにfinalとマークされている場合、メソッドを開く必要がある場合でも、@SafeVarargsアノテーションはアクセスレベルの変更だけでそのまま使用できます。最終結果が意図的に削除された場合、コンパイル時エラーが発生しますが、既にそれがあった場合は、個人アクセスを削除した人(チームベースの環境では自分自身ではない可能性があります) "private"修飾子を削除すると、コードが突然コンパイルされなくなります。
ため@safeが最終的な方法のために、静的メソッドのために、コンストラクタのための可変引数を使用し、Java-9以降ができ訂正理解していれば。 SafeVarargs注釈、インスタンスメソッド...最終的なものでもプライベートでもない」と言っているので、誰もが「プライベート」を取り除いた人には混乱はない。 –
- 1. なぜJavaパブリックAPIにプライベートメソッドがあるのですか?
- 2. 関数宣言子の後に "override/final"を配置する必要があるのはなぜですか?
- 3. Objective-C:プライベートメソッドを宣言する必要がありますか?
- 4. Java - aspectjでプラグインをインストールする必要があるのはなぜですか?
- 5. Java JDBC:out-parameterを登録する必要があるのはなぜですか?
- 6. Javaでは、例外クラスが必要になる前にクラスローダーが使用できるようにする必要があるのはなぜですか?
- 7. 「ファイルから」を指定する必要があるのはなぜですか?
- 8. Junitのテストメソッドを公開する必要があるのはなぜですか?
- 9. JavaでPropertiesクラスが必要なのはなぜですか?
- 10. JavaでString [] argsが必要なのはなぜですか?
- 11. なぜmochaはdevDependenciesになる必要がありますか?
- 12. なぜJavaソースファイルでUnicodeをエスケープする必要がありますか?
- 13. クラスのヘッダーファイルにプライベートメソッドを記述する必要はありますか?
- 14. SpringでHttpMessageConverterを指定する必要があるのはなぜですか?
- 15. setTimeoutに関数をラップする必要があるのはなぜですか?
- 16. ClassInitializeメソッドを静的にする必要があるのはなぜですか?
- 17. SharedModuleをルートモジュールにインポートする必要があるのはなぜですか?
- 18. コピーコンストラクタをconstにする必要があるのはなぜですか?
- 19. 依存するプライベートメソッドをロックする必要はありますか?
- 20. Lispの中に# 'を入れる必要があるのはなぜですか?
- 21. `pthread_mutex_trylock`があるときに` pthread_mutex_lock`が必要なのはなぜですか?
- 22. なぜレンダリングをカウントする必要がありますか?
- 23. なぜコンパイラには.javaサフィックスが必要ですが、インタプリタには.classサフィックスは必要ありません。
- 24. エミュレーションをリアルタイムで実行する必要があるのはなぜですか?
- 25. Ember.jsでインデックスルートを定義する必要があるのはなぜですか?
- 26. メインでAをインポートする必要があるのはなぜですか?
- 27. $リソースで$ promiseを使用する必要があるのはなぜですか?
- 28. MongoDBでデータモデルを定義する必要があるのはなぜですか?
- 29. なぜ?と?を使用する必要があるのはなぜですか?一緒にならずに
- 30. なぜvalue.lengthを使用する必要がありますか?
私は、エラーメッセージが無効のjava.lang」ようなものになるだろう場合は、プライベート – gstackoverflow