Java CallBacks - 抓住这个论点

时间:2014-10-21 20:05:50

标签: java

我有

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方法属于不同的类。

1 个答案:

答案 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
    }
};