我可以从内部 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
"。
提醒: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
"。