Kotlin 错误:UserDAO_Impl不是抽象的,并且不重写UserDAO中的抽象方法findByIC(String,String)

Kotlin 错误:UserDAO_Impl不是抽象的,并且不重写UserDAO中的抽象方法findByIC(String,String),kotlin,Kotlin,我不熟悉使用kotlin创建项目。现在我面临这个错误: UserDAO_Impl不是抽象的,并且不重写UserDAO中的抽象方法findByIC(String,String) 我该怎么解决它 @Dao interface UserDAO { @Override @Query("SELECT * FROM User WHERE IC LIKE :UIC AND " +"Password LIKE :UPSW LIMIT 1") public fun findByIC(U

我不熟悉使用kotlin创建项目。现在我面临这个错误:

UserDAO_Impl不是抽象的,并且不重写UserDAO中的抽象方法findByIC(String,String)

我该怎么解决它

@Dao
 interface UserDAO {

    @Override
    @Query("SELECT * FROM User WHERE IC LIKE :UIC AND " +"Password LIKE :UPSW LIMIT 1")
    public fun findByIC(UIC: String, UPSW: String): UserModel
    {
        var getted = findByIC(UIC, UPSW)
        //var user:UserModel = UserModel(getted.getName(),getted.getPsw(),getted.getEmail(),getted.getIC(),getted.getContactNo())
       // user.setID(getted.getID())
        return getted
    }
    @Insert//(onConflict = OnConflictStrategy.IGNORE)
    fun insertAll(vararg users:userEntity)
    //@Delete
    //fun delete(user: UserModel)
}
我找到了另一个文件,包括UserDAO、Database.kt

@Database(entities = arrayOf(userEntity::class), version = 1)
abstract class AppDatabase : RoomDatabase() {

     abstract fun UserDAO(): UserDAO

}
这是UserDAO_Impl.java文件,红色下划线在第一行

public final class UsersDAO_Impl implements UserDAO //Problem's here
{
  private final RoomDatabase __db;

  private final EntityInsertionAdapter __insertionAdapterOfuserEntity;

  public UsersDAO_Impl(RoomDatabase __db) {
    this.__db = __db;
    this.__insertionAdapterOfuserEntity = new EntityInsertionAdapter<userEntity>(__db) {
      @Override
      public String createQuery() {
        return "INSERT OR ABORT INTO `User`(`uid`,`Name`,`Password`,`Email`,`IC`,`Contact_No`) VALUES (nullif(?, 0),?,?,?,?,?)";
      }

      @Override
      public void bind(SupportSQLiteStatement stmt, userEntity value) {
        stmt.bindLong(1, value.getUid());
        if (value.getUname() == null) {
          stmt.bindNull(2);
        } else {
          stmt.bindString(2, value.getUname());
        }
        if (value.getUpassword() == null) {
          stmt.bindNull(3);
        } else {
          stmt.bindString(3, value.getUpassword());
        }
        if (value.getUemail() == null) {
          stmt.bindNull(4);
        } else {
          stmt.bindString(4, value.getUemail());
        }
        if (value.getUic() == null) {
          stmt.bindNull(5);
        } else {
          stmt.bindString(5, value.getUic());
        }
        if (value.getUcontact_no() == null) {
          stmt.bindNull(6);
        } else {
          stmt.bindString(6, value.getUcontact_no());
        }
      }
    };
  }

  @Override
  public void insertAll(userEntity... users) {
    __db.beginTransaction();
    try {
      __insertionAdapterOfuserEntity.insert(users);
      __db.setTransactionSuccessful();
    } finally {
      __db.endTransaction();
    }
  }
}
public final类UsersDAO\u Impl实现UserDAO//问题在这里
{
私人最终房间数据库uuu db;
私人最终实体插入适配器uu插入适配器;
公共用户dao_Impl(房间数据库){
这是.uudb=uuudb;
此.\uuuu insertionadapter of serentity=新实体insertionadapter(\uuuu db){
@凌驾
公共字符串createQuery(){
返回“插入或中止到`User`(`uid`、`Name`、`Password`、`Email`、`IC`、`Contact_No`)值(nullif(?,0),?,?,?,?,?,?)”;
}
@凌驾
公共void绑定(SupportSQLiteStatement stmt,userEntity值){
stmt.bindLong(1,value.getUid());
if(value.getUname()==null){
stmt.bindNull(2);
}否则{
stmt.bindString(2,value.getUname());
}
if(value.getUpassword()==null){
stmt.bindNull(3);
}否则{
stmt.bindString(3,value.getUpassword());
}
if(value.getUemail()==null){
stmt.bindNull(4);
}否则{
stmt.bindString(4,value.getUemail());
}
if(value.getUic()==null){
stmt.bindNull(5);
}否则{
bindString(5,value.getUic());
}
if(value.getUcontact_no()==null){
stmt.bindNull(6);
}否则{
stmt.bindString(6,value.getUcontact_no());
}
}
};
}
@凌驾
public void insertAll(userEntity…users){
__db.beginTransaction();
试一试{
__InsertionAdapterOfSerentity.insert(用户);
__db.setTransactionSuccessful();
}最后{
__db.endTransaction();
}
}
}

您在
UserDAO
中有类似的方法吗?如果不是,为什么你添加了
@Override
?不,最初我没有放置
@Override
我放置这是我试图解决错误,但仍然无法访问不应该覆盖我已经删除了它,但仍然有相同的问题具有相同的问题,在以前的Java项目中添加了几个Kotlin类在
UserDAO
中是否有类似的方法?如果不是为什么你添加了
@Override
?不,最初我没有把
@Override
我把它放在这里是因为我试图解决这个错误,但仍然不能接口不应该重写我已经删除了它,但仍然有同样的问题同样的问题,在以前的Java项目中添加了一些Kotlin类