2012-03-21 3 views
0

I 클래스자바 컴파일러는 몇 개의 파일을 만드나요?

class hussi 
{ 
    public static void main(String args[]) 
    { 
    System.out.println("hello java"); 
    } 
} 

를 컴파일하면 나는 hussi.class 파일 이외의 파일을해야합니까?
javac가 .class 파일 이외의 파일을 작성합니까?

+2

컴파일? – beny23

+1

'javac hussi.java', , 라는 클래스 파일 하나를 봅니다. – AusCBloke

+0

자바 명명 규칙을 배우고 준수하십시오. – kleopatra

답변

1

심지어 패키지 : 더 나은 응답이 -info.java는 클래스를 생성합니다.

/** 
* Javadoc for a package 
* 
* with an annotation. 
*/ 
@Deprecated 
package mypackage; 

당신이 그것을 시도 할 때 발생하는

$ 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 
{ 
} 
1

Java 컴파일러는 내부 클래스 (익명 또는 비공유)를 포함하여 클래스 당 하나의 파일을 생성합니다. 항상 .class 파일이됩니다.

1

클래스 당 하나의 .class 파일이 제공됩니다. 내부 클래스가 있으면 .java 파일 당 여러 .class 파일로 끝날 수 있습니다.

1

Java 컴파일러는 .class 파일 인 하나의 파일 만 만듭니다.

하지만 컴파일 할 때 Java 파일에 하나의 공용 클래스가 있어야하며 그렇지 않으면 오류가 발생하며 파일 이름은 public class name과 같아야합니다.

Java 파일에 둘 이상의 클래스가있는 경우 더 많은 클래스 파일이 생성됩니다.

5

Java 컴파일러는 각 클래스에 대해 .class을 만듭니다. 자바 파일은 적어도 하나의 클래스를 포함 할 수 있습니다. 최상위 클래스 또는 내부 클래스 중 하나 이상을 포함 할 수 있습니다. 익명 내부 클래스도 포함 할 수 있습니다. 컴파일러는 각 클래스에 대해 별도의 파일을 만듭니다.

1

javac은이 경우 하나의 .class 파일을 생성합니다. 당신이 외부 클래스의 클래스 파일과 함께, 내부 클래스를 가지고 그러나 경우, 내부 클래스의 클래스 파일도


편집을 생성됩니다 https://stackoverflow.com/a/1031966/298455

관련 문제