основной вопрос котлина о грамматике класса

#class #kotlin

Вопрос:

Я новичок в Kotlin, и мой код/ошибка такие же, как показано ниже. Поскольку я не знаю, что мне следует исправить, пожалуйста, дайте мне несколько советов. Заранее благодарю вас за вашу помощь.

 package com.example.myapplication.Kotlin

fun main(array: Array<String>){
    Car(engine: "A", body: "big")
}

class Car(var engine: String, var body:String){

}
 

Ошибка

Ответ №1:

Чтобы применить аргументы по умолчанию, вы должны использовать = вместо : вызова конструктора:

 Car(engine = "A", body = "big")
 

Более подробную информацию об именованных аргументах вы можете найти в документации.

Ответ №2:

Самый простой способ-вообще не называть аргументы и просто использовать порядок, как в Java:

 Car("A", "big")
 

Если вы хотите назвать параметры, используйте = :

 Car(engine = "A", body = "big")
 

Именованные параметры лучше всего использовать, когда для этого есть причина. Обычно с огромным количеством параметров и/или значений по умолчанию:

 class Car(var engine: String = "X", var body:String = "regular")

var defaultCar = Car()
var bigCar = Car(body = "big")
var alternativeEnginedCar = Car(engine = "A")
var minsCar = Car(engine = "A", body = "big")
var sameCarAsMins = Car(body = "big", engine = "A")