首页 > 解决方案 > 为什么建议将扩展 Room Database 的类设为抽象类?

问题描述

背后的原因是什么?是为了表演还是强迫症?请解释

标签: androidandroid-room

解决方案


因为RoomDatabase已经定义了方法,所以继承的类不能是接口。而且因为您在该抽象类中编写了未定义的方法,所以它不能是一个类。

public interface MyDatabase extends RoomDatabase // extend is not allowed for interface

public class MyDatabase extends RoomDatabase {

     public abstract MyDao myDao(); // abstract method is not allowed for non abstract class

}


推荐阅读