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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 华行天下 中级黑马   /  2013-8-15 14:01  /  1214 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

对象初始化内存加载顺序;希望能够详细的说一下,谢谢;

评分

参与人数 1黑马币 +1 收起 理由
EYE_SEE_YOU + 1 伪技术分-1

查看全部评分

3 个回复

倒序浏览
这个老师给我们做过重点讲解,我分点给你写写
1,静态加载进内存
2,在栈中开辟main空间,创建变量
3,在对内存中开辟空间,分配地址
4,默认初始化
5,显示初始化
6,构造代码块初始化
7,构造函数初始化
8,将内存地址赋给变量,变量指向堆内存实体

评分

参与人数 1黑马币 +3 收起 理由
张俊生 + 3 神马都是浮云

查看全部评分

回复 使用道具 举报
本帖最后由 黄文军 于 2013-8-15 19:23 编辑
  1. /**

  2. 对象初始化内存加载顺序;希望能够详细的说一下

  3. 可以下毕向东老师讲的教程,讲的很详细,还画的有图

  4. .1)静态加载进代码内存  如果有静态代码块, 先把静态代码块加载进代码内存  并执行静态代码块,静态代码块不管创建几个对象都只执行一次;
  5. .2)在堆内存创建对象,开辟空间,对象初始化,    有构造代码块先执行构造代码块,再执行构造函数。  构造代码块与构造函数,每创建一个对象就运行一次;
  6. .3)把堆内存创建对象的地址空间赋值给st1,st1指向堆内存创建的实体

  7. */


  8. class  Test01
  9. {
  10.         public static void main(String[] args)
  11.         {        
  12.                 Student st1 = new Student(13,"zhang");//创建对象st1

  13.                 Student st2 = new Student(14,"li");//创建对象st1

  14.                 st1.print();//调用函数
  15.                
  16.                 System.out.println();

  17.                 st2.print();//调用函数
  18.         }
  19. }


  20. class Student
  21. {        

  22.         int age;
  23.         String name;
  24.         private static String school;
  25.         
  26.         //静态代码块  是自动执行的,最先执行,一般用以初始化共有数据
  27.         static
  28.         {        
  29.                 school = "itheima";
  30.                 System.out.println("静态代码块");
  31.         }
  32.         

  33.         //构造代码块  用以初始化变量
  34.         {        

  35.                 System.out.println("构造代码块");
  36.         }
  37.         


  38.         //定义构造函数  初始化对象
  39.         Student(int age,String name){
  40.                 this.age= age;
  41.                 this.name = name;
  42.                 System.out.println("构造函数");
  43.         }
  44.         
  45.         //用以打印输出学生信息
  46.         void print(){
  47.                 System.out.println("name"+name+"\nage"+age+"\nschool"+school);
  48.         }
  49. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
张俊生 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
亲,如问题已解决请将分类的未解决改为已解决。

以后的问题贴也要及时更改分类哦~

保持队形,谢谢合作
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马