2012-01-11 15 views

答えて

2

Googleは2006年からこの結果をキャッシュしました。しかし、合理的に聞こえるので、試してみてください。

(PS:私は...これだけの情報を渡して、Javaの+ルビーのユーザーだけど、RJBを使用したことがない)

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

関連する問題