Java类的实例化对象成员在内存空间怎么分配,调用构造函数又是在内存中怎么分配
classCountry{Stringname;voidvalue(){name="China";}}classCityextendsCountry{Stringname...
class Country {
String name;
void value() {
name = "China";
}
}
class City extends Country {
String name;
void value() {
name = "Hefei";
super.value();//不调用此方法时,super.name返回的是父类的成员变量的值null
System.out.println(name);
System.out.println(super.name);
}
publicstaticvoid main(String[] args) {
City c=new City();
c.value();
}
}
这段程序在内存是怎么分配的,子类继承父类,子类和父类在内存怎么分配,有什么联系。定义类但没有实例对象此时有没为类分配内存?如果类实例化对象,对象在内存怎么分配?与static又有什么关系?
希望可以解答地比较清楚. 展开
String name;
void value() {
name = "China";
}
}
class City extends Country {
String name;
void value() {
name = "Hefei";
super.value();//不调用此方法时,super.name返回的是父类的成员变量的值null
System.out.println(name);
System.out.println(super.name);
}
publicstaticvoid main(String[] args) {
City c=new City();
c.value();
}
}
这段程序在内存是怎么分配的,子类继承父类,子类和父类在内存怎么分配,有什么联系。定义类但没有实例对象此时有没为类分配内存?如果类实例化对象,对象在内存怎么分配?与static又有什么关系?
希望可以解答地比较清楚. 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏60(财富值+成长值)
1个回答
展开全部
我觉得这个问题直接百度去找应该有更专业的回答,因为想搞清楚java对象怎么分配不是一言两语可以说清楚的,这涉及到java对象怎么回收问题。
子类实例化前必须先实例化父类,因为子类需要父类的基础
如果没有实例化对象,也没有访问静态字段或者静态方法那么也没有分配,类的信息是保存在栈中的,对象的创建是在堆中的
对象独占内存空间,static说明资源共享,也就是只占一份内存
子类实例化前必须先实例化父类,因为子类需要父类的基础
如果没有实例化对象,也没有访问静态字段或者静态方法那么也没有分配,类的信息是保存在栈中的,对象的创建是在堆中的
对象独占内存空间,static说明资源共享,也就是只占一份内存
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询