私はクラスをコンパイルした場合Javaコンパイラはいくつのファイルを作成しますか?
class hussi
{
public static void main(String args[])
{
System.out.println("hello java");
}
}
は私がhussi.classファイル以外のファイルを持っているのだろうか?
javacは.classファイル以外のファイルを作成しますか?
私はクラスをコンパイルした場合Javaコンパイラはいくつのファイルを作成しますか?
class hussi
{
public static void main(String args[])
{
System.out.println("hello java");
}
}
は私がhussi.classファイル以外のファイルを持っているのだろうか?
javacは.classファイル以外のファイルを作成しますか?
がさえパッケージ:良い答えがあります:あなたは、外側のクラスのクラスファイルと一緒に内部クラスを、持っている場合は、内部クラスのクラスファイルも
編集生成されます-info.javaはクラスを生成します。あなたがそれをしようとするとどうなり
$ javac package-info.java
$ ls -l
total 8
-rw-rw-r-- 1 peter peter 180 2012-03-21 12:08 package-info.class
-rw-rw-r-- 1 peter peter 87 2012-03-21 12:08 package-info.java
$ javap -c -v -classpath .. mypackage.package-info
Classfile /d/peter/untitled/src/main/java/mypackage/package-info.class
Last modified 21-Mar-2012; size 180 bytes
MD5 checksum f152dc2e8a45929ef297f6ac05a4067e
Compiled from "package-info.java"
interface mypackage.package-info
SourceFile: "package-info.java"
RuntimeVisibleAnnotations:
0: #6()
minor version: 0
major version: 51
flags: ACC_INTERFACE, ACC_ABSTRACT, ACC_SYNTHETIC
Constant pool:
#1 = Class #7 // "mypackage/package-info"
#2 = Class #8 // java/lang/Object
#3 = Utf8 SourceFile
#4 = Utf8 package-info.java
#5 = Utf8 RuntimeVisibleAnnotations
#6 = Utf8 Ljava/lang/Deprecated;
#7 = Utf8 mypackage/package-info
#8 = Utf8 java/lang/Object
{
}
Javaコンパイラでは、クラスごとに1つのファイルが生成されます(内部クラス用(匿名または未使用))。それらは常に.classファイルになります。
クラスごとに1つの.classファイルが作成されます。内部クラスがある場合、.javaファイルごとに複数の.classファイルが作成されることがあります。
Javaコンパイラは.classファイルである1つのファイルのみを作成します。
しかし、これをコンパイルするには、Javaファイルに1つのパブリッククラスがなければなりません。それ以外の場合はエラーが発生し、ファイル名はパブリッククラス名と同じでなければなりません。
Javaファイルに複数のクラスがある場合、より多くのクラスファイルが作成されます。
Javaコンパイラは、クラスごとに.class
を作成します。 Javaファイルには少なくとも1つのクラスが含まれている可能性があります。これには、トップレベルクラスまたはインナークラスのいずれかを含めることができます。また、匿名の内部クラスを含むこともできます。コンパイラは、そのようなクラスごとに別々のファイルを作成します。
javac
この場合、ファイルは.class
となります。 https://stackoverflow.com/a/1031966/298455
でコンパイルさ
? – beny23
'javac hussi.java'、、という1つのクラスファイルを参照します。 –
AusCBloke
Java命名規則を学び、それらに固執してください – kleopatra