首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

实例化时可以与此同时override吗

2011-11-11 
实例化时可以同时override吗?高手解释下下面这段代码,自己感觉代码是在实例化的同时,直接对父类方法overri

实例化时可以同时override吗
高手解释下下面这段代码,自己感觉代码是在实例化的同时,直接对父类方法override了,但因为第一次看到这种代码,不敢肯定,高手近来指点下,这样写可以吗?有什么好处?    

    private   ThreadLocal   matchers   =   new   ThreadLocal()   {
                protected   synchronized   Object   initialValue()   {
                    return   new   Perl5Matcher();
                }
            };

[解决办法]
无名内部类
楼主的理解也没什么问题
[解决办法]
这叫做匿名内部类(Anonymous inner class),直接在初始化时定义类,相当于:

class T extends ThreadLocal() { .... }
private ThreadLocal matchers = new T();

如果内部类只初始化一次,用匿名内部类可以简化代码。

热点排行
Bad Request.