各位小伙伴们大家好,之前小编介绍了java中的类还有面向对象,这次小编要介绍的是java当中对象的内存图。java的内存划分可以分成5个部分,栈(Stack),堆(Heap),方法区(Method Area),寄存器(pc Register)。下面,我们通过一张图,来了解对象的内存图。
从上面的图中,我们可以知道,main方法是在栈中,方法区当中有成员变量和成员方法,new出来的东西都是在堆当中,这次我们是要创建对象student1。对于一个对象来说,它的成员方法保存的其实是一个地址值,创建对象时,方法区的地址值会保存在堆当中。根据地址值,访问对象,改变成员变量。如果要调用成员方法,需要根据地址值找到student1这个对象再访问成员方法,方法需要运行,需要进入栈,调用方法,如果方法调用完毕,则出栈,再通过main调用其它方法,全部成员方法调用完毕,程序运行完毕,main方法出栈。
代码如下(定义一个学生类):
public class student1 {int no;//成员变量String name;char sex;int age;public void eat(){//成员方法System.out.println("吃饭");}public void sleep(){System.out.println("睡觉");}public void study(){System.out.println("学习");}public void play(){System.out.println("打篮球");}}
对象的创建
public class Demo02student {public static void main(String[] args){student1 stu=new student1();//创建stu.name="小明";//改变对象中成员变量的内容stu.sex='男';stu.age=7;System.out.println(stu.no);//使用成员变量System.out.println(stu.name);System.out.println(stu.sex);System.out.println(stu.age);stu.eat();//使用成员方法stu.play();stu.sleep();stu.study();}}
关于java当中,对象的内存空间的调用和分配,小编就先说到这里,希望这篇文章可以帮到大家,也欢迎各位小伙伴补充和纠错。
【关键词:青岛Java培训,Java就业培训,Java培训价格,Java培训哪家好,中享思途】