Avatar ·

Erro "Property must be initialized or be abstract" em Kotlin: causas e soluções

Olá! Comecei a estudar Kotlin e me deparei com um erro que não consigo corrigir. Estou escrevendo um aplicativo simples para Android e tenho uma classe onde declaro várias variáveis. O compilador mostra o erro: "Property must be initialized or be abstract". Aqui está meu código: ```kotlin class UserProfile { var userName: String var userAge: Int var email: String fun printInfo() { println("Nome: $userName, Idade: $userAge, Email: $email") } } ``` Quero que essas propriedades sejam declaradas na classe, mas sem valores iniciais, porque serão preenchidas depois, por exemplo, após carregar dados do banco ou após entrada do usuário. Em Java, eu podia simplesmente declarar os campos sem inicialização, e eles recebiam valores padrão (null para String, 0 para int). Aqui, o compilador reclama. Por que isso acontece? Como declarar propriedades corretamente para que não exijam inicialização diretamente na classe? Tentei adicionar um construtor, mas o erro ainda persiste.