我目前正在为基于Java的文本游戏开发角色生成机制,但我遇到了一个问题,无法看到我可能出错的地方.我有一个"Character"类,它是抽象的,然后是另一个类,"NPCharacter",意思是构建在此之上.
public abstract class Character {
public abstract void generateStats();
}
public class NPCharacter extends Character {
public void generateStats() {
}
}
Run Code Online (Sandbox Code Playgroud)
Eclipse说"类型NPCharacter不能继承最终的类字符".谁能在这里看到错误?
提前致谢.
我正在尝试创建一个访问ODBC数据源的Java程序.使用以下代码......
Connection conn;
try {
Driver d = (Driver)Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
DriverManager.registerDriver(d);
String URL = "jdbc:odbc:AR System ODBC Data Source";
conn = DriverManager.getConnection(URL);
} catch (SQLException | InstantiationException | IllegalAccessException | ClassNotFoundException e) {
Logger.error(this, e);
}
Statement s = null;
ResultSet rs = null;
try {
s = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
rs = s.executeQuery("select count(*) as rows from table");
if (rs.next()) {
System.out.print("Count of all rows is " + rs.getInt("rows"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtils.safelyClose(s, rs); …Run Code Online (Sandbox Code Playgroud) 我目前有一个JTable,其中填充了一系列数据,这些数据构成了导入屏幕的基础.当我选择了我想要或不想要的更新时,我按下Apply按钮并成功应用更新,但JTable没有完全更新.
这是处理应用更改的方法的代码:
private void doProcessChanges() {
ChangeProcessor cp = new ChangeProcessor();
final List<Integer> rowsToRemove = new ArrayList<Integer>();
BeanTableModel<UpdateModel> model = (BeanTableModel<UpdateModel>) table.getModel();
for (int i=0; i<model.getRowCount(); i++) {
UpdateRow ur = mode.getObject(i);
if (ur.isAccepted() <> ChangeAcceptance.NO_ACTION) {
cp.processChange(ur);
rowsToRemove.add(i);
}
}
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
for (int row : rowsToRemove) {
model.removeObject(row);
model.fireTableDataChanged();
}
}
);
}
Run Code Online (Sandbox Code Playgroud)
从SwingWorker线程中调用该方法,如下所示:
SwingWorker<Object, Object> worker = new SwingWorker<Object, Object>() {
@Override
protected Object doInBackground() throws Exception {
doProcessChanges();
return null; …Run Code Online (Sandbox Code Playgroud)