我可以从内部 class 中的方法引用 class 吗?如果可以,如何引用?

Can I reference a class from a method within an inner class, and if so, how?

提醒:Java

的新手

我尝试了以下方法使外部 class 成为文件选择器的父级,但它指的是 OuterClass.AddBrowseActionListener 而不是 OuterClass:

public class OuterClass extends JFrame{

...

    class AddBrowseActionListener implements ActionListener{
        public void actionPerformed(ActionEvent event){
            JFileChooser filechooser = new JFileChooser();
            int returnValue = filechooser.showOpenDialog(this);
            File infile = filechooser.getSelectedFile();
            System.out.println(infile.getName());
        }
    }
}

我知道匿名 classes 所以你不必向我展示,除非这是解决问题的唯一方法。

此外,使用反射并不是我真正想要的。

int returnValue = filechooser.showOpenDialog(OuterClass.this);

从技术上讲,this 只是包含对象的私有成员,因此您可以使用 class 来查找字段:

int returnValue = filechooser.showOpenDialog(OuterClass.this);

这在 Java 语言规范中称为 "Qualified this"