方法不会覆盖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(); 
    } 
} 
+0

我很确定你不想在你的导入中输入“com.sun.org.apache.xpath.internal.operations.String”! –

我假设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 
       } 
      }); 


     } 
    });