• ベストアンサー

public interface

Java public interfaceの記述場所について public interface ○○{ } public interfaceはJavaのコード中だったら、基本的には どこに 書いても良いものなのでしょうか? また書いてはいけない場所などは御座いますでしょうか? 初歩的な質問ですが答えて頂けると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

>回答No.2 amanojaku1 少し分かりにくかったかもしれないので、最初から書き直します。 インタフェースの宣言(interface) http://www.javaroad.jp/java_interface2.htm >インタフェースのアクセスレベルを指定します。publicがなければインタフェースと同じパッケージ内で定義されたクラスのみからアクセスできることを表します。publicがあれば全クラスからアクセスできることを表します。 つまり、全クラスから その「interface」にアクセス可能にしたければ「public」を付与する、同一パッケージ内のみだけから その「interface」にアクセスを制限したければ「public」を付与しない、と言う事になります。 「interface」に「public」が付与されてない場合は、「public」が付与されている「class」が存在する「java」ファイルや、「public」が付与されている「class」が存在しない(「public」が付与されてない「class」は存在しても良い)「java」ファイルにも記述可。 その場合メイン・クラスの外側にも記述可、クラスの内側にも記述可なようです(あくまで個人的な主観ですが、クラスの内側に「interface」を記述するのは あまり推奨されないような気がします)。 「interface」に「public」が付与されている場合、「public」が付与されている「class」が存在しない(「public」が付与されてない「class」は存在しても良い)「java」ファイルでないと記述できないようです(1ファイル内に複数の「interface」を記述可)、その「java」ファイルには「public」が付与されてない「interface」も混在可。

その他の回答 (2)

回答No.2

>回答No.1 amanojaku1 >「interface」専用の「java」ファイル 訂正です。 「public」が付与されている「class」が存在しない場合(「public」が付与されてない「class」が存在しても良いようです)、その「java」ファイルに「public」が付与されている「interface」が記述可能、その「java」ファイルには「public」が付与されてない「interface」も混在可能なようです。

回答No.1

インタフェースの宣言(interface) http://www.javaroad.jp/java_interface2.htm >インタフェースのアクセスレベルを指定します。publicがなければインタフェースと同じパッケージ内で定義されたクラスのみからアクセスできることを表します。publicがあれば全クラスからアクセスできることを表します。 つまり、全クラスから その「interface」にアクセス可能にしたければ「public」を付与する、同一パッケージ内のみだけから その「interface」にアクセスを制限したければ「public」を付与しない、と言う事になります。 「interface」に「public」が付与されてない場合は、「interface」専用の「java」ファイルやプログラム(classなど)が記述されているファイルにも記述可、その場合メイン・クラスの外側にも記述可、クラスの内側にも記述可なようです(あくまで個人的な主観ですが、クラスの内側に「interface」を記述するのは あまり推奨されないような気がします)。 「interface」に「public」が付与されている場合、「interface」専用の「java」ファイルでないと記述できないようです(1ファイル内に複数の「interface」を記述可だと思われます)、その「java」ファイルには「public」が付与されてない「interface」も混在可能なようです。

関連するQ&A