从内部匿名类访问外部匿名类

nac*_*okk 17 java anonymous-class

我只是好奇.有没有办法访问另一个匿名类中的匿名类中的父级?

我让这个例子创建一个JTable子类(匿名类)覆盖changeSelection,在里面我创建另一个匿名类.

MCVE:

public class Test{

    public static void main(String args []){

        JTable table = new JTable(){

            @Override
            public void changeSelection(
                final int row, final int column,
                final boolean toggle, final boolean extend) {

                SwingUtilities.invokeLater(new Runnable() {
                    @Override
                    public void run() {
                        super.changeSelection(row, column, toggle, extend); 
                        //more code here
                    }
                });
            }
        };

    }//end main

}//end test 
Run Code Online (Sandbox Code Playgroud)

我怎么能参考super.changeSelection(..)

new*_*cct 13

不幸的是,你必须给外部匿名类命名:

public class Test{

    public static void main(String args []){

        class Foo extends JTable {

            @Override
            public void changeSelection(
                final int row, final int column,
                final boolean toggle, final boolean extend) {

                SwingUtilities.invokeLater(new Runnable() {
                    @Override
                    public void run() {
                        Foo.super.changeSelection(row, column, toggle, extend); 
                        //more code here
                    }
                });
            }
        };

        JTable table = new Foo();

    }//end main

}//end test 
Run Code Online (Sandbox Code Playgroud)