Error "Property must be initialized or be abstract" en Kotlin: causas y soluciones
¡Hola! Empecé a estudiar Kotlin y me encontré con un error que no puedo solucionar. Estoy escribiendo una aplicación simple para Android, y tengo una clase en la que declaro varias variables. El compilador muestra el error: "Property must be initialized or be abstract". Aquí está mi código:\n\n```kotlin\nclass UserProfile {\n var userName: String\n var userAge: Int\n var email: String\n \n fun printInfo() {\n println("Nombre: $userName, Edad: $userAge, Email: $email")\n }\n}\n```\n\nQuiero que estas propiedades estén declaradas en la clase, pero sin valores iniciales, porque se llenarán más tarde, por ejemplo, después de cargar datos desde la base de datos o después de la entrada del usuario. En Java podía simplemente declarar campos sin inicialización, y obtenían valores por defecto (null para String, 0 para Int, etc.). ¿Cómo puedo lograr esto en Kotlin? He leído sobre lateinit y lazy, pero no estoy seguro de cuál es la mejor opción para mi caso. ¿Pueden explicar la diferencia y cuándo usar cada una? ¡Gracias!
No answers yet.
Inicia sesión para dejar una respuesta
Blogs