gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 09:39:22 25 4
gpt4 key购买 nike

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

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 Chat。当我键入这些聊天消息时,这些聊天消息是从我的手机上的 Yahoo Chat Messenger 收到的)。谁能看出我的代码有什么问题吗?

最佳答案

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

来自

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 {
...
}
}

此外,这可能是一个抽搐的事情。有时 channel 名称的大写不起作用。它要求以某种方式将字母大写。所以我改变了字符串中字母的大写(很奇怪,但无论如何)。

关于Java 方法在嵌套类中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38584817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com