A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

匿名内部类是不是一定要定义在外部类的方法中?

2 个回复

倒序浏览
不是这样的,使用内部类时如果覆盖了类中原有的方法是一般有两种:
1.原来的方法不能满足要求,需要重写。
2.原来的方法为抽象方法,但需要创建实例对象,所以需要覆盖。
否则的话没必要覆盖的。
就拿GUI中关闭窗口的例子说明吧:
        frame.addWindowListener(new WindowAdapter(){
                public void  windowClosing(WindowEvent e)
                {
                        System.exit(0);
                }
        });

这里的java.awt.event.WindowAdapter类中的windowClosing方法因为需要而重写了,但是还有好多方法并没有重写。

评分

参与人数 1技术分 +1 收起 理由
Silent_memory + 1 赞一个!

查看全部评分

回复 使用道具 举报
不是,匿名内部类是可以定义在成员位置和局部位置
1、成员位置就是和成员方法,成员变量是同一级别的。
2、局部位置,就是方法体内,方法体内的变量都叫局部变量,所以当方法执行完成后,匿名内部类也就结束了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马