创建一个对象的步骤

创建一个对象的步骤

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() {}里面没有方法语句体,也会调用构造方法,构造方法进栈,然后弹栈,走个过场.

转载于:https://www.cnblogs.com/wk520hll/p/6100107.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值