码迷,mamicode.com
首页 > 其他好文 > 详细

创建一个对象的步骤

时间:2016-11-25 07:01:32      阅读:409      评论:0      收藏:0      [点我收藏+]

标签:text   center   地址   round   string   ack   class   系统   初始化   

创建一个对象的步骤

1.创建一个对象的步骤

Student s = new Student();

1,Student.class加载进内存

        2,声明一个Student类型引用s

3,在堆内存创建对象,

        4,给对象中属性默认初始化值

        5,属性进行显示初始化

        6,构造方法进栈,对对象中的属性赋值,构造方法弹栈

        7,将对象的地址值赋值给s

2.例

  1. class bj07_6 {
  2.    public static void main(String[] args) {
  3.       Student s = new Student();
  4.       s.show();
  5.    }
  6. }
  7. class Student {
  8.    private String name = "张三";
  9.    private int age = 23;
  10.    public Student() {
  11.       name = "李四";
  12.       age = 24;
  13.    }
  14.    public void show() {
  15.       System.out.println(name + "..." + age);
  16.    }
  17. }

 

执行流程:

1) bj07_6.class进入方法区(里面有main主方法)

2) 主方法进栈:main,

3) 之后遇到Student s = new Student();Student.class先加载进方法区,

4) 在栈中声明一个Student类型的引用s

5) New Student在堆中开辟空间,(有个地址值)

成员变量默认初始化

String name---默认初始化值 null

int age-----默认初始化值0

6) 显示初始化

private String name = "张三" name----张三

private int age = 23; age----23

7)构造方法初始化,构造方法被调用(当创建对象时系统帮忙调用),进栈.

        name = "李四";对name-张三进行修改 name—李四

        age = 24;对age=23进行修改 age--24

8)修改完后,构造方法执行完成,弹栈.

9)对象创建完成后,将地址值赋给s

10)接下来遇到s.show();通过引用数据类型s(地址值)找到show方法,show方法进栈,进站后输出: 李四…24.

11)输出完成后show方法弹栈.

注意:

    如果构造方法 public Student() {}里面没有方法语句体,也会调用构造方法,构造方法进栈,然后弹栈,走个过场.

创建一个对象的步骤

标签:text   center   地址   round   string   ack   class   系统   初始化   

原文地址:http://www.cnblogs.com/wk520hll/p/6100107.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!