[解決済み】インターフェイスメソッドの最終引数 - ポイントは何ですか?
2022-04-12 14:09:16
質問
Javaでは
final
の引数をインターフェイスメソッドで使用し、実装クラスではそれに従わない、など。
public interface Foo {
public void foo(int bar, final int baz);
}
public class FooImpl implements Foo {
@Override
public void foo(final int bar, int baz) {
...
}
}
上記の例では
bar
と
baz
は、その逆の
final
の定義をクラス VS インターフェースで行います。
同じように
final
の制限は、あるクラスメソッドが別のクラスメソッドを拡張する場合にも適用されます。
abstract
を使用するかどうか。
一方
final
はクラスメソッドの内部で実用的な価値を持ちますが、その一方で
final
をインターフェイスメソッドのパラメータに使用することはできますか?
どのように解決するのですか?
意味がないような気がするのですが。によると Java言語仕様書4.12.4 :
変数をfinalと宣言することで その値を示す有用な文書として は変更されないので、それを回避するのに役立ちます。 プログラミングのエラーになります。
ただし
final
モディファイアをメソッドパラメータに指定することは
シグネチャのマッチングのルール
オーバーライドされたメソッドを呼び出すと、呼び出し側には何の影響もなく、実装の本体内だけに影響します。また、Robinのコメントで指摘されているように
final
修飾子は、生成されるバイトコードに影響を与えません。(これは、他の
final
.)
関連
-
javaで非静的な解を静的な参照にすることができない
-
Enumとの組み合わせでswitchの使い方を一度覚えるために必要な定数式
-
this()の呼び出しはコンストラクタ本体の最初の文でなければならない 例外解決と原因分析
-
[解決済み] Java の配列を表示する最も簡単な方法は何ですか?
-
[解決済み] メソッドと関数の違いは何ですか?
-
[解決済み] インターフェースと抽象クラスの違いは何ですか?
-
[解決済み] Java 8のmap()メソッドとflatMap()メソッドの違いは何ですか?
-
[解決済み] Javaにおける "final class "の意味とは?
-
[解決済み] Javaの "final "キーワードはどのように機能するのでしょうか?(オブジェクトを修正することは可能です。)
-
[解決済み】インプリメントとエクステンド。いつ使う?その違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
javaの模造品QQ WeChatのチャットルーム
-
Eclipseプロンプトを実行する java仮想マシンを使用しない
-
サーブレットクラスのインスタンス化エラーの解決法
-
spring-boot 401 このリソースにアクセスするには完全な認証が必要です エラー解決
-
が 'X-Frame-Options' を 'deny' に設定しているため、フレーム内にある。
-
spring aop アドバイスからの Null 戻り値が、サマリーのプリミティブ戻り値と一致しない。
-
mavenプロジェクトのテストエラー java.lang.ClassNotFoundException: org.glassfish.jersey.client.ClientConfig の問題を解決する。
-
javax.net.ssl.SSLException: 読み取りエラー: ssl=0xdeae5100: システムコール中の I/O エラー、接続 res
-
ブラウザでの大容量ファイルスライスアップロード(Javaサーバサイド実装)
-
maven プラグイン エラー プラグインの実行は、ライフサイクル構成ソリューションの対象外です。