簡體   English   中英

如何在java中訪問scala類中的scala對象?

[英]How to access scala object inside scala class in java?

我有 Scala 類,如:

class A {
  object B {
    def c(d: Int) = d + 4
  }
}

我如何從java代碼訪問函數c

編輯:假設我無論如何都無法更改 Scala 類。

編輯#2:這是一個例子

public class Q {
    public void qwe() {
        A a = new A();
        a.B().c(4); //Cannot resolve method 'B' in 'A'
    }
}

類中的object B被轉換為公共方法B() ,您可以按如下方式訪問它:

  A a = new A();
  System.out.println(a.B().c(4));

引擎蓋下

斯卡拉

class A {
  object B {
    def c(d: Int) = d + 4
  }
}

上面的類編譯為 java 時如下所示

scalac A.scala
javap -p A.class
public class A {
  private volatile A$B$ B$module;
  public A$B$ B();
  private final void B$lzycompute$1();
  public A();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM