Java方法在嵌套类中不起作用



我有一个外部类和一个内部类,如下所示:

public class Outer extends PircBot { 
...
public class Inner extends SessionAdapter { 
...    
}
}

Inner类中,我试图调用一个名为sendMessage(..)的方法,该方法位于PircBot(而不是Outer类中。但我当然知道OuterPircbot类中的所有字段都继承在Inner类中):

@Override
public void messageReceived(SessionEvent event) { //This method is inside SessionAdapter class which I am extending in my Inner class
Outer.this.sendMessage(event.getMessage()); //This method is inside Pircbot class which I am extending in my Outer class
}

我知道调用了sendMessage(..)方法。但由于某种原因,我在Twitch聊天中看不到该消息(该程序将聊天消息发送到Twitch聊天。当我键入这些聊天消息时,这些聊天消息是从我的手机上的雅虎聊天信使接收的)。有人能看到我的代码出了什么问题吗?

这就是我所做的。我更改了内部类实例化的位置(从默认的外部构造函数内部更改为实例变量)。像这样:

来自

public class Outer extends PircBot { 
private int x;
public Outer(){
x = 5;
Inner n = new Inner(); //Instantiation inside Outer class's default constructor
}
public class Inner extends SessionAdapter { 
...    
}
}

public class Outer extends PircBot { 
private int x;
Inner n = new Inner(); //Now instantiation is outside constructor
public Outer(){
x = 5;
//no more instantiation inside constructor 
}
public class Inner extends SessionAdapter { 
...    
}
}

此外,这可能是一件抽搐的事情。有时频道名称的大写不起作用。它要求以某种方式将字母大写。所以我改变了字符串中字母的大小写(很奇怪,但不管怎样)。

相关内容

  • 没有找到相关文章

最新更新