如何从JRuby上调用Java嵌套抽象类的方法?

时间:2014-01-06 12:05:30

标签: java ruby jruby

有这个:

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()方法。

1 个答案:

答案 0 :(得分:1)

A::B解决了什么?我在JRuby 1.6.4和1.7.9中尝试了你的代码(只是为了看看最近是否有任何改变的行为)并且它工作正常。

由于A类不在包中(但它可能在您的真实代码中),我必须将其称为Java::A::B并将方法称为{{ 1}},这就是为什么我问Java::A::B.greet解决了什么问题,真正的问题是你是不是通过它的完全限定的包名来引用类,还是没有导入它?