Почему язык Scala требует, чтобы вы инициализировали переменную экземпляра вместо того, чтобы полагаться на значение по умолчанию?

язык Scala требует, чтобы вы инициализировали свою переменную экземпляра перед использованием его. Однако Scala не обеспечивает значение по умолчанию для вашей переменной. Вместо этого необходимо настроить его значение вручную при помощи подстановочного подчеркивания, которое действует как значение по умолчанию, следующим образом

var name:String = _

я знаю, я знаю... Я могу определить конструктора в определении класса, которое берет в качестве параметра нашу переменную экземпляра, таким образом, Scala не вызывает ее инициализацию как показано ниже

class Person(var name:String) 

Однако, я должен объявить это в корпусе, потому что я должен использовать аннотацию Java, ElementType которой является ПОЛЕ или МЕТОД; то есть, это может просто быть применено или к переменной экземпляра или к методу, объявленному в корпусе нашего класса.

Вопрос: Почему язык Scala требует, чтобы вы инициализировали переменную экземпляра - действительно ли он быть значением по умолчанию _ или независимо от того, что вы хотите - объявленный в корпусе класса вместо того, чтобы полагаться на значение по умолчанию?

25
задан Arthur Ronald 3 September 2011 в 06:51
поделиться