我有
public interface CallBack<T> {
public interface Callback<T> {
public void callback(T t);
}
public void isRegistered(final String username, final Callback<Boolean> callback){
PreparedStatement perparedStatement = connection.prepareStatement("SELECT name FROM " + table + " WHERE name = ?");
perparedStatement.setString(1, username);
if(perparedStatement.executeQuery().next()){
perparedStatement.close();
registeredCache.put(username, true);
}else{
perparedStatement.close();
registeredCache.put(username, false);
}
usingMySQL--;
if(usingMySQL == 0){
closeConnection();
}
callback.callback(registeredCache.get(registeredCache.get(username)));
但我正在寻找如何获取参数。第一次回电。
Lobby.instance.MySQL.isRegistered(sender.getName(), new CallBack<Boolean>(){
@Override
public void CallBack(){
}
});
我的好友试图解释它,但他说他太难以解释,并要求我在这里问。该接口与public void方法属于不同的类。
答案 0 :(得分:2)
如果界面是:
public interface Callback<T> {
public void callback(T t);
}
然后,实现它的唯一方法是生成一个实现callback
方法的类。让我们说类型参数是布尔值,然后覆盖将是
Callback<Boolean> callback = new Callback<Boolean>() {
@Override
public void callback(Boolean parameter) {
// your code here
}
};