方法不会覆盖java中的超类的方法
问题描述:
我的覆盖方法有上面的标题错误消息。我遵循这个pubnub教程来尝试获得一个工作示例,但无法弄清楚为什么我会收到这些消息。唯一的区别是我正在使用intellij。这里的教程,以防万一它有帮助。方法不会覆盖java中的超类的方法
这里是我的代码:
import com.pubnub.api.*;
import com.sun.org.apache.xpath.internal.operations.String;
public class SubscribePublishExample {
//Creating an instance of pubnub and adding the subscribe code.
public void subscribePublish() {
final Pubnub pubnub = new Pubnub("demo", "demo");
try {
pubnub.subscribe("Hell0 World", new Callback() {
@Override
public void successCallback(String arg0, Object arg1) {
System.out.println(arg1);
}
//Adding the publish code into the connect callback.
@Override
public void connectCallback(String arg0, Object arg1) {
pubnub.publish("Hello_World", "Hello World !", new Callback() {
@Override
public void successCallback(String arg0, Object arg1) {
System.out.println(arg1);
}
});
}
});
} catch (PubnubException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new SubscribePublishExample().subscribePublish();
}
}
答
我假设Callback
是一个接口。基于您第一次使用抽象类实例实现它(当您将它传递给pubnub.subscribe()
时),它有两种方法 - successCallback()
和connectCallback()
。
但是,你connectCallback()
实现里面,你有另外一个抽象类的实例实现Callback
(你传递给pubnub.publish()
),这时候你忘了执行connectCallback()
。
pubnub.subscribe("Hell0 World", new Callback()
{
@Override
public void successCallback(String arg0, Object arg1)
{
System.out.println(arg1);
}
//Adding the publish code into the connect callback.
@Override
public void connectCallback(String arg0, Object arg1)
{
pubnub.publish("Hello_World", "Hello World !", new Callback()
{
@Override
public void successCallback(String arg0, Object arg1)
{
System.out.println(arg1);
}
// here you should add an implementation of connectCallback :
@Override
public void connectCallback(String arg0, Object arg1)
{
// some code
}
});
}
});
我很确定你不想在你的导入中输入“com.sun.org.apache.xpath.internal.operations.String”! –