加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

从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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读