7

キャサリン・シエラのSCJPを読んでいます。
本で説明されているように、抽象キーワードと最終キーワードは互いに矛盾するため、一緒に使用できないことを理解しています。

しかし、strictfp キーワードと abstract キーワードを一緒に使用できない理由がわかりません。
strictfp キーワードが Java で正確にどのように機能するかはまだわかりません。

私の考えでは、抽象的なstrictfpメソッドを宣言し、サブクラスを持ち、そのメソッドを「strictfpの方法」で実装できます。

これらのキーワードがうまく調和しない理由は何ですか?
編集
本を再確認しましたが、確かに

インターフェイス メソッドは抽象的であるため、 final 、 strictfp 、または native とマークすることはできません。

キャサリン・シエラによるSCJPから。21ページ。

また、私の IDE (Eclipse Juno) は、abstract キーワードと strictfp キーワードを一緒に使用できないと言っています。
うーん、なぜですか?

4

2 に答える 2

8

キャサリン・シエラはおそらく抽象メソッドについて話していました。抽象メソッドはメソッド シグネチャを提供するだけなので(もしあれば節を投げます)、抽象メソッドを作成しても意味がありません。strictfpそれを使用するには、具体的なメソッドでサブクラスでオーバーライドする必要があり、このメソッドには独自の修飾子があります親メソッドの修飾子をオーバーライドします。つまり、メソッドは修飾子を継承しません。

だけでなく、とsctriptfp以外の抽象メソッドでは修飾子を使用できないことに注意してください。しようとすると、コンパイル時エラーが発生します。publicprotected

于 2013-05-09T02:04:33.723 に答える