定义如下接口与抽象类:
public interface B {
public Map param = new HashMap();
}
public abstract class B {
public Map param = new HashMap();
}
然后写两个子类:
public class B1 implements B{
}
public class B2 implements B{
}
public class B1 extends B{
}
public class B2 extends B{
}
在创建实例时,抽象类的子类的实例的map是每个实例一个map内存对象。
而接口的子类的实例的map是每个实例都共用一个内存对象。
本文探讨了在Java中实现接口与继承抽象类时,成员变量在不同子类实例之间的内存共享特性。具体分析了当子类实现接口或继承抽象类,并包含相同名称的成员变量时,这些变量是如何在内存中分配的。

被折叠的 条评论
为什么被折叠?



