gpt4 book ai didi

java - 如何使用 Rjb 访问嵌套的静态类?

转载 作者:行者123 更新时间:2023-12-04 06:02:15 25 4
gpt4 key购买 nike

假设一个 Java 程序定义了类 A,它有一个嵌套的静态类“B”。

如何使用 Ruby-Java Bridge 访问 B 类?

例如,这些尝试不起作用:

A = Rjb::import('package.A')
A.B
A::B

有没有办法做到这一点?

最佳答案

谷歌从 2006 年开始缓存这个结果。虽然听起来很合理,所以接受它并进行实验!

(PS:我是 java + ruby​​ 用户,但从未使用过 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

我忍不住要调查 Les 访问静态内部的问题,我想我找到了语法。访问内部类(静态或非静态)看起来有点不稳定,但它是可行的。静态类像任何其他类一样加载,但它们的路径名是“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

关于java - 如何使用 Rjb 访问嵌套的静态类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8813083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com