A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 弄啥呢 中级黑马   /  2016-7-11 22:15  /  297 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

创建对象过程的描述:
1.此文件名为Demo1_Car.java
2.javac Demo1_Car.java 进行编译,此时生成两个字节码文件,Demo1_Car.class和Car.class,此时的两个class文件存在硬盘上
3.java Demo1_Car  运行程序,此时会检查Demo1_Car.class是否已经加载到方法区,没有的话要加载
4.要寻找Demo1_Car.class中的main方法,有的话main方法进栈
5.执行main方法中的代码,Car c1 = new Car();
6.这里要首先在栈内存的main方法中创建一个局部变量Car c1,接下来要创建对象,就是执行 new Car(),此时要检查方法区中有没有Car.class,没有的话加载Car.class
7.在堆内存中创建Car类的对象,首先开辟内存空间,分配起始地址,给对象中的属性进行默认初始化值(String 类型的为null,int 类型的为0),然后将该对象的地址值赋值给局部变量c1,也就是说c1指向了该对象
8.接下来执行c1.color = "red";....更改对象属性的值
9.接下来执行c1.run();run方法进栈,执行完毕后,run方法弹栈
10.main方法中的所有的代码执行完毕后,main方法弹栈

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马