1. ホーム
  2. java

インターフェースに含まれるフィールド

2023-11-19 07:09:04

質問

Javaでは基本的な質問ですが、OOPでは一般的な質問です。なぜインターフェースはフィールドを設定することができるのでしょうか?それはインターフェイスが行うことになっていることに反していませんか?

私が理解したところでは、インターフェースは英語では形容詞のようなものです。つまり、私のクラスがRunnableとSerializableというインターフェースを実装していれば、私のクラスがRunnableとSeriablizableであるための条件を満たすことをユーザに保証していることになるわけです。しかし、それだとインターフェースはステートレスになってしまいますが、Javaではフィールドを持つことが許されていますし...。

何か見落としているのでしょうか?

どのように解決するのですか?

インターフェイスのすべてのフィールドは public static final で、つまりは定数です。

一般的にこのようなインターフェースは避けることが推奨されますが、時にはメソッドを持たず、定数値のリストを格納するためだけに使われるインターフェースを見つけることができます。

Reference
この問題について(インターフェースに含まれるフィールド) , 我々は、より多くの情報をここで見つけました https://stackoverflow.com/questions/9446893/fields-in-interfaces

テキストは自由に共有またはコピーできます。 ただし、このドキュメントのURLは参考URLとして残しておいてください。

Collection and Share based on the CC Protocol