Intereting Posts
Файл открытого актива Android Kotlin Как изменить глобальную переменную из реализации анонимного класса в котлин Как создать несколько разделов текстовых просмотров с помощью нескольких касаний? Почему компилятор Scala дает мне ошибку при передаче закрытого класса Kotlin в конструктор? Котлин: проблемы с пониманием дженериков Аномалии покрытия кода в Android (Kotlin) Retrofit2 return null Единица в kotlin для 204 Нет ответа на контент Kotlin на Android: наведите курсор на список Конструктор, принимающий конструктивный конструктор в производном классе Котлин Как получить общий класс param в Котлине? Очистка консоли в Котлине Встроенная функция Kotlin не работает должным образом Кинжал 2 + Котлин не может ввести Presenter в View Повторный набор API-вызовов: как убедиться, что после вызова api значение не равно нулю? Kotlin, когда несколько значений не работают, когда значение представляет собой вид android

Ожидается, что в Котлине ожидается активатор или сеттер

Я изучаю Kotlin из официальных документов, я пытаюсь создать класс для выполнения арифметических операций.

 class Sum { var a: Int, b: Int; constructor(a: Int, b: Int) { this.a = a this.b = b } fun add(): Int { return a + b } } 

У меня есть этот класс, теперь я хочу создать объект этого класса, например

 val sum = Sum(1,2) Log.d("Sum", sum.add()) 

Я получаю эту ошибку в классе Sum :

Ожидается активатор свойств или сеттер

на b: int; внутри строки var a: Int, b: Int;

Solutions Collecting From Web of "Ожидается, что в Котлине ожидается активатор или сеттер"

Вы пишете ненужный код в своем классе.

Напишите короткую форму для constructor если она есть только одна.

Если в классе есть свойства, они могут быть определены в constructor с помощью val или var .

Используйте его, как показано ниже:

 class Sum (var a: Int,var b: Int){ fun add(): Int { return a + b } } 

Читайте базовый синтаксис Kotlin .

Ошибка будет решена просто объявлением переменных в двух строках:

 var a: Int var b: Int 

Однако рекомендуется использовать эти переменные в конструкторах (если вы хотите иметь только один конструктор с аргументами):

 class Sum(var a: Int, var b: Int) { fun add(): Int = a + b } 
 var a: Int, b: Int; 

Kotlin не позволяет иметь несколько деклараций в одной строке. Вы должны пойти для:

 var a: Int var b: Int 

вместо. Люди Котлина просто обнаружили, что практика C / java «int a, b, ..» является тем, что они не хотят поддерживать в Котлине.

следующий код показывает вам, как назначать и манипулировать переменными в вашем классе

 class Sum (var a: Int,var b: Int){ fun add(): Int= a + b //you can return the results directly. } 

вы можете протестировать свой код, используя основной ниже.

 fun main(args: Array<String>) { var s= Sum(1,2) print(s.add()) }