アプレットを作成しているので、2 つのクラスを使用することにしましたが、Java ファイルを 1 つにするように求められました。他のクラスをメイン クラスに追加できますか? もしそうなら、どのように?セカンダリ クラスをプライベートと宣言しようとしましたが、うまくいきませんでした。
3 に答える
ファイルごとに 1 つのパブリック クラス。クラス名はファイル名と一致する必要があります。
ただし、パッケージ プライベート クラスはいくつでも持つことができます。public クラスに main メソッドを配置します。
たとえば、Foo.java では次のようになります。
public class Foo {
}
class Bar {
}
class Baz {
}
メインクラスの直後に別のクラスを修飾子なしで宣言するだけです(別の分離クラスとして必要であると仮定します)。それ以外の場合は、ネストされたクラス(または) 匿名クラスが適している可能性があります。
例:
あなたのファイル名はHello.java
public class Hello{
.........
}
class AnotherClass{
..........
}
単一の .java ファイルが必要な場合は、メイン クラスで 2 番目のクラスをプライベートに宣言するか、'public' 修飾子なしでファイル内のメイン クラスの隣に置くことができます。ファイルは次のようになります。
public class Main {
//...
}
class Inner {
//...
}
ただし、単一の .class ファイル (コンパイル済みの .java ファイル) が必要な場合は、悪い知らせがあります。これは実行できません。Java コンパイラは常に、クラスごとに 1 つの .class ファイルを生成します。プログラムを単一のクラスに書き直すか、2 つ目のクラスをローカルでコンパイルし、バイトを取得し、それらをメイン クラスに静的に格納し、クラス ローダーを使用して実行時にバイトをロードすることがどれほど大きな問題になるかによって異なります。 . 私にはかなり面白いですね :)