扩展对Java中的内存有什么影响?

时间:2014-03-17 02:13:33

标签: java memory-management extends

所以当你创建一个类的实例时,如:

class Example {

     public static void main(String[] args) {
          Example example = new Example();

     }

}

如果我这样做,将会使用更多资源:

class Item {

     public Item() {
          //empty
     }

}


class Example extends Item {

     public static void main(String[] args) {
          Example example = new Example();

     }

}

如果是这样,为什么?

1 个答案:

答案 0 :(得分:1)

由于您有一个额外的类要加载,因此内存使用量没有显着增加。如果你有100个Item的子类,你将有100个额外的类加载......如果你把它拿得足够远,额外的代码的额外内存使用量将是重要的。< / p>

但是,Example的实例将与Item的实例占用相同的空间,因为Example未声明任何实例字段。请注意,额外的方法或方法重载不会影响实例的大小。