黑马程序员技术交流社区

标题: 匿名内部类是不是一定要定义在外部类的方法中? [打印本页]

作者: LHP    时间: 2014-5-9 09:43
标题: 匿名内部类是不是一定要定义在外部类的方法中?
匿名内部类是不是一定要定义在外部类的方法中?
作者: 苍穹的雨    时间: 2014-5-9 10:34
不是这样的,使用内部类时如果覆盖了类中原有的方法是一般有两种:
1.原来的方法不能满足要求,需要重写。
2.原来的方法为抽象方法,但需要创建实例对象,所以需要覆盖。
否则的话没必要覆盖的。
就拿GUI中关闭窗口的例子说明吧:
        frame.addWindowListener(new WindowAdapter(){
                public void  windowClosing(WindowEvent e)
                {
                        System.exit(0);
                }
        });

这里的java.awt.event.WindowAdapter类中的windowClosing方法因为需要而重写了,但是还有好多方法并没有重写。
作者: jsjchenlong    时间: 2014-5-10 00:25
不是,匿名内部类是可以定义在成员位置和局部位置
1、成员位置就是和成员方法,成员变量是同一级别的。
2、局部位置,就是方法体内,方法体内的变量都叫局部变量,所以当方法执行完成后,匿名内部类也就结束了。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2