有这个:
public abstract class A {
public abstract static class B {
public static void greet() {
System.out.println("Hey");
}
}
}
你可以用Java做,
A.B.greet();
但是在JRuby中,我怎么称呼它?我试过了
A::B.greet
但它无法找到greet()
方法。
答案 0 :(得分:1)
A::B
解决了什么?我在JRuby 1.6.4和1.7.9中尝试了你的代码(只是为了看看最近是否有任何改变的行为)并且它工作正常。
由于A
类不在包中(但它可能在您的真实代码中),我必须将其称为Java::A::B
并将方法称为{{ 1}},这就是为什么我问Java::A::B.greet
解决了什么问题,真正的问题是你是不是通过它的完全限定的包名来引用类,还是没有导入它?