>有这个:
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()
方法。
A::B
决心做什么?我在JRuby 1.6.4和1.7.9中尝试了您的代码(只是为了查看最近是否有任何行为发生了变化),并且工作正常。
由于 A
类不在包中(当然,它可能在您的真实代码中),我不得不将其称为 Java::A::B
并将该方法称为 Java::A::B.greet
,这就是为什么我问A::B
解决什么,真正的问题是你没有通过它的完全限定的包名称来引用该类, 还是没有导入?