Я создал образец Android-проекта, используя язык программирования Kotlin, используя этот блог . Я новичок в программировании Котлина. Я наткнулся на эту линию,
data class Cats(var data: Data? = null)
который я считаю, что это, создавая класс с именем Cats
который имеет переменную с именем data
. Что это за data: Data? = null
data: Data? = null
означает? Моя модель всего класса:
data class Cats(var data: Data? = null) data class Data(var images: ArrayList<Image>? = null) data class Image(var url: String? = "", var id: String? = "", var source_url: String? = "")
Вы правы в том, что класс Cats
будет иметь изменяемое свойство с именем data
, поскольку он объявлен внутри основного конструктора класса с ключевым словом var
(см. Страницы документов о классах и свойствах ).
Затем знак вопроса в имени типа в Kotlin означает, что переменная имеет тип NULL , т. Е. Может хранить значение null
. С другой стороны, переменные с ненулевыми типами не могут содержать null
s в Kotlin.
data: Data? = null
data: Data? = null
– это синтаксис для значения параметра по умолчанию . Он позволяет не передавать параметр data
в вызов конструктора, и в этом случае будет использоваться значение по умолчанию null
. Это также работает для функций.
И, наконец, модификатор data
в объявлении класса означает, что equals
, hashCode
, toString
, copy
и деструктурирование будут генерироваться для класса на основе свойств, объявленных в основном конструкторе.
=> Классы в Kotlin объявляются с использованием класса keyword:
class Invoice {}
=> Оба заголовка и тела являются необязательными; если класс не имеет тела, фигурные скобки могут быть опущены.
счет-фактура класса