저는 Java에 익숙하지 않고 일부에 어리석은 기본 질문을하고 있습니다.
메인 자바 클래스를 컴파일 한 후 대부분의 하위 클래스는 폴더에 $로 표시됩니다. 나는 순응 한 클래스들을 복사하고 그것을 실행할 다른 위치에 둔다. 메인 클래스를 변경하거나 서브 클래스 중 하나를 변경하면 매번 관련된 모든 서브 클래스를 복사해야합니까? 또는 변경된 것들만 복사하면됩니까?
감사합니다. 닉
저는 Java에 익숙하지 않고 일부에 어리석은 기본 질문을하고 있습니다.
메인 자바 클래스를 컴파일 한 후 대부분의 하위 클래스는 폴더에 $로 표시됩니다. 나는 순응 한 클래스들을 복사하고 그것을 실행할 다른 위치에 둔다. 메인 클래스를 변경하거나 서브 클래스 중 하나를 변경하면 매번 관련된 모든 서브 클래스를 복사해야합니까? 또는 변경된 것들만 복사하면됩니까?
감사합니다. 닉
하위 클래스 (class Y extends X {}
) 또는 중첩 클래스 (class Y { class X {} }
)에 대한 것입니까?
$
당신이 말한 것은 후자를 나타내는 것처럼 보입니다. 모든 경우를 복사해야하지만, 서브 클래 싱하는 경우 변경된 파일의 컴파일 된 버전 만 복사하면됩니다.
안녕하세요, 답변 해 주셔서 감사합니다. 중첩되지 않고 클래스 Y 인 간단한 하위 클래스 화는 X {...}를 확장합니다. 도와 주셔서 감사합니다. – Nick
Nick,
nested classes을 참조 하시겠습니까? 그렇다면 컴파일 된 클래스 파일 이름에 "$"가 포함됩니다. 코드가 부모 클래스에만 변경되었다고 가정하면 중첩 된 클래스 바이트 코드는 다시 컴파일하는 동안 변경되지 않아야합니다. .class 파일 만 복사해야합니다. 그러나 분명히 모든 것을 복사하십시오.
$
을 포함한 클래스 이름은 중첩/익명 클래스 용입니다.
그리고 this Stackoverflow question을 참조하십시오.
하지만 그게 전부는 아닙니다. OP I copy the complied classes and put it on another location to execute.
을 인용하면이 작업을 자동화하고 Ant
또는 Maven
과 같은 기존 Java 빌드 도구 중 하나를 사용해야합니다.
왜 그냥 같은 패키지에 넣고 패키지 복사본을 만드시겠습니까? – helpermethod