【发布时间】:2014-06-17 22:05:29
【问题描述】:
有没有办法在匿名声明抽象类的新实例时自动生成代码,提前谢谢。
这是一个例子:
我的抽象类:
public abstract class MySqlQueryHelperCallback {
/**
*
* @param rs ResultSet for precedent sql request
*/
protected void queryResult(ResultSet rs)
{
try
{
while (rs.next())
{
//Whatever
}
} catch (SQLException e)
{
e.printStackTrace();
}
};
}
当我匿名创建实例时会发生什么:
test.executeQuery("SELECT * FROM visiteur", new MySqlQueryHelperCallback() {
@Override
protected void queryResult(ResultSet rs)
{
super.queryResult(rs);
}
});
我想要发生的事情:
test.executeQuery("SELECT * FROM visiteur", new MySqlQueryHelperCallback() {
@Override
protected void queryResult(ResultSet rs)
{
try
{
while (rs.next())
{
//Whatever
}
} catch (SQLException e)
{
e.printStackTrace();
}
};
});
【问题讨论】:
-
仅使用 Java 是不可能的。如果有办法让这个工作,它会在你的 IDE 中,所以我建议你编辑它。
-
您可以将“任意”放入抽象方法中。所以匿名实现只需要实现该方法而不覆盖queryResult。
-
该死,我认为还有其他方法可以做到这一点
-
@DevBlanked 我明白你的意思,但这不是我想要的:/
标签: java overriding anonymous-methods