11
자바 바이트 코드가 실제로 어떤 종류의 익명 클래스도 지원하지 않는다고 들었습니다. javac는 이름없는 클래스를 이름이없는 클래스로 어떻게 변환합니까?익명 클래스는 Java로 어떻게 컴파일됩니까?
자바 바이트 코드가 실제로 어떤 종류의 익명 클래스도 지원하지 않는다고 들었습니다. javac는 이름없는 클래스를 이름이없는 클래스로 어떻게 변환합니까?익명 클래스는 Java로 어떻게 컴파일됩니까?
EnclosingClass$n
형식의 이름을 합성합니다. 여기서 "n"은 EnclosingClass
의 익명 클래스 카운터입니다. 식별자에 $
을 사용하는 것은 바람직하지 않으므로 이러한 이름은 사용자가 지정한 이름과 충돌해서는 안됩니다.
'$'은 유효한 문자이지만 사용자 정의 이름에는 사용하지 않는 것이 좋습니다. – axtavt
죄송합니다. 감사. – erickson
익명의 내부 클래스를 사용하여 클래스를 컴파일 할 때 쉽게 볼 수 있습니다. 이름이 'EnclosingClass $ n.class'와 같이 여러 개의'* .class' 파일을 가져 오기 때문입니다. – Jesper