Как правильно создавать объекты на kotlin в коде Activity?
Учусь разрабатывать приложения под Android на kotlin. Нужно создать объект типа MyPreferences (созданный мной класс) в MainActivity, а потом в этот объект сохранить какие-то данные. Объясните пожалуйста, почему я могу объявить глобальную переменную типа Preferences после объявления класса, но не могу сразу же, во время её объявления, создать новый объект этой переменной, а должен создавать его в методе onCreate()?
Если точнее, почему я могу сделать так:
class MainActivity : AppCompatActivity() {
**private var prefs: MyPreferences? = null**
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
**prefs = MyPreferences(this)**
Но не могу вот так:
class MainActivity : AppCompatActivity() {
**private var prefs: MyPreferences? = MyPreferences(this)**
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Ответы (1 шт):
Автор решения: Arty Morris
→ Ссылка
Потому что у тебя при объявлении нет ещё объекта this. Так и должно быть, ты создаешь объект, а затем уже начинаешь к нему привязывать переменные