Tag: anonymous inner class

re一个匿名内部类的多个实例

这与我在这个post中提供的问题的答案有关: Inner Classes是轻量级的吗? 我记得从我的阅读中可以看出,如果你只能从一个匿名的内部类创建一个对象,那么,如果你想创建一个ActionListener类并想要从这个类中创建多个对象(不使用reflection),不使用匿名的内部类,而是使用私有的内部类或类的立场,但人们告诉我,我错了。 有人可以帮我澄清一下吗? 请查看链接,因为它包含更多详细信息,但如果有任何不清楚,请询问!

内部类中的构造函数(实现接口)

我将如何为实现接口的内部类编写构造函数? 我知道我可以创建一个全新的课程,但我认为必须有一种方法可以做到这一点: JButton b = new JButton(new AbstractAction() { public AbstractAction() { super(“This is a button”); } public void actionPerformed(ActionEvent e) { System.out.println(“button clicked”); } }); 当我输入它时,它不会将AbstractAction方法识别为构造函数(编译器要求返回类型)。 有没有人有想法?

在Java中访问外部类的变量

在Java android应用程序中如何从内部匿名类访问外部类的变量? 例: ProgressDialog dialog = new ProgressDialog(this); ….. send.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //here i’d like to do something with **dialog** variable ……. } });

内部方法中的匿名内部类

请看下面的代码: import java.util.ArrayList; import java.util.List; class Main{ public static List modifiedList(final List list){ return new ArrayList(){ @Override public boolean add(T element){ super.add(element); return list.add(element); } }; } public static void main(String[] args) { List originalList=new ArrayList(); List duplicateList=modifiedList(originalList); originalList.add(“1”); originalList.add(“2”); originalList.add(“3″); System.out.println(originalList+” “+duplicateList); duplicateList.add(“4”); duplicateList.add(“5”); duplicateList.add(“6″); System.out.println(originalList+” “+duplicateList); } 在上面的代码中,在modifyList()方法中声明的匿名内部类的实例能够访问传递给该方法的参数。 AFAIK Java为内部类创建单独的字节码文件。 任何人都可以解释Java在字节码级别如何处理这些局部变量绑定? 我的意思是,Java如何跟踪作为参数传递给该方法的对象的引用? 任何帮助将不胜感激! […]