Java类的实例化对象成员在内存空间怎么分配,调用构造函数又是在内存中怎么分配

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java类的实例化对象成员在内存空间怎么分配,调用构造函数又是在内存中怎么分配相关的知识,希望对你有一定的参考价值。

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又有什么关系?
希望可以解答地比较清楚.

参考技术A 我觉得这个问题直接百度去找应该有更专业的回答,因为想搞清楚java对象怎么分配不是一言两语可以说清楚的,这涉及到java对象怎么回收问题。
子类实例化前必须先实例化父类,因为子类需要父类的基础
如果没有实例化对象,也没有访问静态字段或者静态方法那么也没有分配,类的信息是保存在栈中的,对象的创建是在堆中的
对象独占内存空间,static说明资源共享,也就是只占一份内存本回答被提问者和网友采纳

以上是关于Java类的实例化对象成员在内存空间怎么分配,调用构造函数又是在内存中怎么分配的主要内容,如果未能解决你的问题,请参考以下文章

Java对象的实例化过程

提升js编写能力

Java中成员变量分配在哪个空间?

java中的作用域有哪些?

C函数中如何调用未实例化类的成员函数

Java的private成员变量的继承问题