java - 没有可访问的封闭类型实例,我的代码中出现错误

标签 java class

我收到以下错误

no enclosing instance of type is accessible

当我尝试添加这一行时:

Receiver.this.getMyField()

它尝试从另一个名为receiver的类获取值。

  private void initSenderAndReceiver(final Socket clientSocket) {

    Receiver receiver = new Receiver(clientSocket, chatView);
    final Sender sender = new Sender(clientSocket, chatView);

    sendButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            sender.sendMessage(chatBox.getText());
            //sender.sendMessage(Receiver.this.Clientcoordinate1,Receiver.this.Clientcoordinate2);
            //sender.sendMessage();
            Receiver.this.getMyField();
            chatBox.setText(""); //Clear the chat box
        }
    });

    Thread receiverThread = new Thread(receiver);
    receiverThread.run();
}

最佳答案

尝试使用receiver.getMyField();将其声明为final,就像对sender对象所做的那样。

关于java - 没有可访问的封闭类型实例,我的代码中出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27859546/

相关文章:

ruby - 在类/模块中加载外部文件

class - 使用来自不同文件的类导出 TypeScript 模块

java - 我想通过单击按钮交换 ComboBoxes 选定的项目

java - 在构造期间访问基类字段

java - foreach 循环中缺少 return 语句

java - 为什么要尝试/捕获可抛出的东西?

C++函数回调

css - 有什么方法可以在布局中继承 Bootstrap 类吗?

java - XSLT CallTemplate ForEach XML 扩展函数

java - 正则表达式匹配重复模式,一个字符后跟一个空格