Scala объект расширяет статическое поле класса Java - PullRequest
6 голосов
/ 05 октября 2010

Я хотел бы знать, как я могу встроить статическое поле из Java-класса в Scala.

Вот пример Java, если я класс с именем ClassFromJava, я мог бы расширить его, добавить некоторое статическое полеи используйте подкласс для доступа к полю VERSION.

public class ClassFromJava {
    public static int VERSION = 1;
}

public class ClassFromJavaSub extends ClassFromJava {
    public static String NOTE = "A note";
}

public class Test {
    public static void main (String [] args) {
       System.out.println (ClassFromJavaSub.VERSION); // This works.
    }
}

Но если я захочу расширить ClassFromJava в Scala и добавить некоторое постоянное значение, оно, похоже, не работает.

object ClassFromScala extends ClassFromJava {
    val NOTE = "A Note"
}

object Test {
    def main (args: Array[String]) {
        // This line won't compile
        // ClassFromScala has no value VERSION.
        println (ClassFromScala.VERSION) 
    }
}

Чтоделать, если я хочу, чтобы ClassFromScala также содержал переменную VERSION?

1 Ответ

4 голосов
/ 05 октября 2010
object ClassFromScala extends ClassFromJava {
  def VERSION = ClassFromJava.VERSION
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...