从JRuby实例化非静态Java内部类
发布时间:2020-12-16 22:13:38 所属栏目:百科 来源:网络整理
导读:所以给出以下 java类: class Outer{ private int x; public Outer(int x) { this.x = x; } public class Inner { private int y; public Inner(int y) { this.y = y; } public int sum() { return x + y; } }} 我可以通过以下方式从Java创建一个内部类的实
所以给出以下
java类:
class Outer { private int x; public Outer(int x) { this.x = x; } public class Inner { private int y; public Inner(int y) { this.y = y; } public int sum() { return x + y; } } } 我可以通过以下方式从Java创建一个内部类的实例: Outer o = new Outer(1); Outer.Inner i = o.new Inner(2); 但是,我似乎从JRuby这样做也是如此 #!/usr/bin/env jruby require 'java' java_import 'Outer' o = Outer.new(1); i = o.Inner.new(2); #=> NoMethodError: undefined method `Inner' for #<Outer...> 这样做的正确方法是什么? 解决方法i = Outer::Inner.new(o,2) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |