2012-01-11 3 views

답변

2

Google에서 2006 년 결과를 캐시했습니다. 합리적으로 들리므로 실험을하고 실험 해보세요.

(PS : 나는 ... 그래서 단지 정보를 함께 전달 자바 + 루비 사용자입니다 만, 상기 R1b를 사용하지 않음)

http://webcache.googleusercontent.com/search?q=cache:1p7OdptgsYUJ:blog.voneicken.com/2006/12/3/accessing-inner-java-classes-via-rjb+inner+class+rjb+ruby+java&cd=10&hl=en&ct=clnk&gl=au

내가 레했던 문제를 조사하고 저항 할 수 없었다 정적 인 내부에 액세스하는 것과 구문을 발견했다고 생각합니다. 내부 클래스 (정적 또는 비공유)에 액세스하면 약간 어색한 것처럼 보일 수 있지만 수행 가능합니다. 통계는 다른 클래스와 마찬가지로로드되지만 경로 이름은 'OuterClass $ StaticInnerClass'입니다. 비 정적 인 내부 클래스는 조금 더 까다 롭습니다. 'OuterClass $ Inner'와 함께 정적처럼 가져 오기; 이제 내부 클래스가 있지만 트릭은 인스턴스를 인스턴스화하는 것입니다. 생성자에 대한 첫 번째 인수로 OuterClass 인스턴스를 제공해야합니다 (따라서 Java의 커튼 뒤에서 내부가 해당 외부 메소드에 대해 갖는 암시 적 액세스를 숨기고 데이터) :

Outer = Rjb::import(‘Outer’) 
Inner = Rjb::import(‘Outer$Inner’) 
StaticInner = Rjb::import(‘Outer$StaticInner’) 

outer = Outer.new 
inner = Inner.new(outer) 
staticInner = StaticInner.new 
+0

훌륭한 작품입니다. 감사. – user2398029