是内部类比普通类更轻量级,还是说最终java编译内部类就像普通类一样?
我知道java中的类本身并不都是非常轻量级的,并且它们占用了permgen内存的一部分,所以我想知道是否最好使用类似闭包的函数作为内部类,或者标准类是否也可以?
内部类和匿名内部类都编译为.class
文件。例如:
class Outer {
class Inner {
}
Object function() {
return new Object() {
};
}
}
会生成三个.class
files, Outer.class
, Outer$Inner.class
, and Outer$1.class
。它们并不比其他类更“轻量级”,并且(据我所知)从性能角度来看,使用其中一个类并没有比其他类有任何优势。当然,内部类,尤其是匿名内部类在常规类难以编码的情况下非常有用,但这是一个单独的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)