java子类怎么编译_java – 无法编译从基类实现抽象方法的子类
編譯我已經定義的基類的子類有一個問題,它有一個單獨的方法,而每個子類都實現了抽象基類方法,但是
javac說他們甚至沒有在子類中明確定義它們.
DbModel.java(基類)
package com.manodestra.db;
import java.sql.ResultSet;
import java.sql.SQLException;
public abstract class DbModel extends Model {
abstract T newInstance(ResultSet rs) throws SQLException;
}
DbModel擴展了Model,它只有一個通用的toString方法.
MenuPermissions.java(子類)
package com.manodestra.csa.db.model.configNew;
import com.manodestra.db.DbModel;
import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Time;
import java.sql.Timestamp;
public class MenuPermissions extends DbModel {
private final String menuId;
private final String userLevel;
public MenuPermissions(
String menuId,
String userLevel
) {
this.menuId = menuId;
this.userLevel = userLevel;
}
public String getMenuId() {
return this.menuId;
}
public String getUserLevel() {
return this.userLevel;
}
public MenuPermissions newInstance(ResultSet rs) throws SQLException {
return new MenuPermissions(
rs.getString("menu_id"),
rs.getString("user_level")
);
}
}
編譯錯誤
[javac] Compiling 487 source files to C:\Media\Code\manodestra_java\bin
[javac] C:\Media\Code\manodestra_java\src\com\manodestra\csa\db\model\configNew\MenuPermissions.java:10:
error: MenuPermissions is not abstract
and does not override abstract method newInstance(ResultSet) in DbModel
[javac] public class MenuPermissions extends DbModel {
[javac] ^
有人看到這里的問題是什么?我猜我忽略了一些非常簡單的東西.
有關要求的更多信息:
我正在構建一個實體框架,用于從給定的數據庫生成模型對象.上面的MenuPermissions是一個這樣的模型對象(由我編寫的一個名為GenerateModel的類自動生成).我希望每個模型都有一個方法,允許我根據結果集獲取每個目標類型的新實例,該結果集將相應地填充對象并返回它.理想情況下,它應該是一個靜態方法,但我已經嘗試過它作為一個具體的方法,因為我需要在DbModel的每個子類中強制它的存在.希望有道理.
總結
以上是生活随笔為你收集整理的java子类怎么编译_java – 无法编译从基类实现抽象方法的子类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: server 群辉emby_群晖容器中搭
- 下一篇: android 富文本框架_当微擎框架遇