나는 다음과 같은 문제를 내놓았다 :Kotlin에서 추상 클래스를 인스턴스화하는 방법은 무엇입니까?
내 MainActivity 코드 :
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
// ERROR: Cannot create instance of an abstract class
var db = DataBase().getDataBase(this)
// ...
}
}
룸의 데이터베이스 : 나는 코 틀린에 클래스를 인스턴스화 할 수 없습니다
@Database(entities = arrayOf(DataBaseUser::class), version = 1)
abstract class DataBase : RoomDatabase() {
val DB_NAME : String = "DataBaseUser"
private lateinit var INSTANCE : DataBase
fun getDataBase(context: Context): DataBase {
if (INSTANCE == null){
INSTANCE = Room.databaseBuilder(context.applicationContext,DataBase::class.java,DB_NAME).build()
}
return INSTANCE
}
abstract fun getUserDao(): DataBaseUserDao
}
. Java에서는 다음과 같이했습니다.
db = AppDataBase.getDataBase(view.getContext());
Kotlin에서 어떻게 동일한 결과를 얻을 수 있습니까?
가능한 복제본 [추상 클래스를 인스턴스화 할 수 있습니까?] (https://stackoverflow.com/questions/4579305/can-we-instantiate-an-abstract-class) – Vlad