2016-04-06 7 views
2

私は、これはJavaで呼ばれるものへと困惑していると、これは何をするか:Javaクラスは

public class MainFrame(){ 
     public static void main(String[] args{ 
      //etc. 
     }  
    }//end class 
    class SampleMenuListener implements MenuListener(){ 

    }//end SampleMenuListener 

私は内部クラスを調査し、しかし、私はこれを知っている匿名内部クラスを使用する方法を知っています私はJavaで何が呼ばれているのか理解できませんでした。だから私の質問はこれが何と呼ばれているのですか? Eclipseでは、クラスCがクラスSampleMenuListenerの隣に表示されます。これは、SampleMenuListenerと呼ばれる同じプロジェクトフォルダ内に新しいクラスを作成し、MainFrameでインスタンスを作成することと本質的に同じですか?そしてもしそうなら、これは単に別のクラスをeclipseで分離せずに書くという簡略な方法です。あるいはそれはいくつかの違いがあり、どのように違うのでしょうか?これは愚かな質問かもしれないので、間違いなくリンクを投稿するように私は言ったように私は正しいキーワードは、これがJavaで呼び出されるものの結果を得るためにGoogleに見えなかった。

+2

'class'が' public'である必要はない場合、 'class'はそれが使用されているファイルに書き込むことができます。 EclipseやIDEに関係なく。 –

答えて

0

これは通常のクラスであり、同じ.javaファイルに書き込まれているだけです。 違いは、パブリッククラスは1つだけです(ファイル名はパブリッククラスのものと同じでなければなりません)

+0

スーパークラスではありません。他のクラスはそれを拡張しません。 –

+0

私は私の答えを更新しました。私はスーパークラスとして、通常のクラスのコンテキストでスーパーバイザとして使用することができます。 – Alok

3

通常、Javaはコードファイルごとに1つのクラスしか持つことができません。そのクラスの名前を付ける必要があります。これは完全に真実ではありません。実際ののルールでは、コードファイルには、の公開クラスが1つしかないというルールがあります。 (あなたはしないでください...)の数は、publicです。

その他は、パッケージアクセス(アクセス指定なし)でなければなりません。 the relevant documentation.

あなたの例では、SampleMenuListenerは他のものと同様にclassです。