자바 프로그램이 중첩 된 정적 클래스 'B'를 가진 클래스 A를 정의한다고 가정 해 보겠습니다.Rjb를 사용하여 중첩 된 정적 클래스에 액세스하는 방법은 무엇입니까?
Ruby-Java Bridge를 사용하여 클래스 B에 액세스하는 방법은 무엇입니까?
예를 들어, 이러한 시도가 작동하지 않습니다 :이 작업을 수행 할 수있는 방법이
A = Rjb::import('package.A')
A.B
A::B
있습니까?
자바 프로그램이 중첩 된 정적 클래스 'B'를 가진 클래스 A를 정의한다고 가정 해 보겠습니다.Rjb를 사용하여 중첩 된 정적 클래스에 액세스하는 방법은 무엇입니까?
Ruby-Java Bridge를 사용하여 클래스 B에 액세스하는 방법은 무엇입니까?
예를 들어, 이러한 시도가 작동하지 않습니다 :이 작업을 수행 할 수있는 방법이
A = Rjb::import('package.A')
A.B
A::B
있습니까?
Google에서 2006 년 결과를 캐시했습니다. 합리적으로 들리므로 실험을하고 실험 해보세요.
(PS : 나는 ... 그래서 단지 정보를 함께 전달 자바 + 루비 사용자입니다 만, 상기 R1b를 사용하지 않음)
내가 레했던 문제를 조사하고 저항 할 수 없었다 정적 인 내부에 액세스하는 것과 구문을 발견했다고 생각합니다. 내부 클래스 (정적 또는 비공유)에 액세스하면 약간 어색한 것처럼 보일 수 있지만 수행 가능합니다. 통계는 다른 클래스와 마찬가지로로드되지만 경로 이름은 '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
훌륭한 작품입니다. 감사. – user2398029