【问题标题】:Cannot refer to field class in java [duplicate]无法引用java中的字段类[重复]
【发布时间】:2017-08-19 22:33:19
【问题描述】:

我不知道如何解决以下问题。 我有如下代码:

public class MyWindow{
    private Button saveButton;
    private Application saveImplementation;
    void createSaveButton() {
        saveButton.addListener(new Button.ClickListener() {
            @Override
            public void buttonClick(Button.ClickEvent event) {
                this.saveImplementation.save();//Cannot resolve symbol 'saveImplementation'
            }
        });
    }
}

在 saveButton.addListener 中我不能引用 saveImplementation,它是 MyWindow 类的一个字段 - 你能帮帮我吗? 我该如何解决?

【问题讨论】:

  • 你也可以发布错误吗?
  • 你需要 MyWindow.this --- 你在一个 inner 类中;所以“this”单独指向“错误”类。
  • 并提示:您严重过度标记。这与字段、lambda、vaadin 等没有任何关系
  • 发生错误是因为您刚刚声明了对象 saveImplementation 并且尚未使用 new 关键字实例化它。只需将此行添加到您的 3 行。私有应用程序 saveImplementation=new Application();
  • 好的,谢谢,我会尝试删除这个问题。

标签: java field


【解决方案1】:

this 指的是ClickListener 的实例。您需要通过MyWindow.this.saveImplementation.save(); 指定MyWindow 的实例

【讨论】:

  • 谢谢它的帮助。
猜你喜欢
  • 1970-01-01
  • 2018-09-21
  • 1970-01-01
  • 2018-07-25
  • 2021-08-03
  • 2014-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多