0

1 つのプロジェクトで Scala と Java を使用しようとしています。Eclipse 用の Scla IDE を使用しています。私の Scala プロジェクトには 2 つのパッケージがあります。1 つは scala コード用で、もう 1 つは Java コード用です。

ここで、1 つの静的メンバーで新しい JavaClass を作成するとします。

package javastuff;

public class MyJavaClass {
    public static String MESSAGE = "Im Java";
}

その後、この変数にアクセスしようとしていますが、どういうわけかアクセスできません。面白いことに、scala は Java クラス "MyJavaClass" を認識できるだけで、MESSAGEを認識できないからです。

import javastuff.MyJavaClass

object Main {
    def main(args: Array[String]) {
        println(MyJavaClass.MESSAGE)
    }
}
  • 値 MESSAGE はオブジェクト javastuff.MyJavaClass のメンバーではありません

Project/Cleanを使用すると、Eclipse の 1 ~ 2 倍の回数で、メンバー MESSAGE が実際に存在し、すべてが正常であることに気づき始めている可能性があります。これは正常ですか?たぶん私は何か間違ったことをしている、私はEclipseが本当に悪いIDEであることを知っているのでIntelliJを試してみるべきかもしれませんが、どういうわけか私はEclipseが好きで、後でお気に入りのプラグインをいくつか使いたいと思っています。この問題。この問題をより適切に処理する方法はありますか?

4

1 に答える 1

1

Scala には静的フィールドはありません。ここにそれに関するブログ記事があります

ところで。final なしの public static はかなり悪い設計です (カプセル化なし => メモリ リークの可能性があります)。

于 2012-11-22T22:21:56.170 に答える