创建一个对象的步骤
Posted 凯玲之恋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建一个对象的步骤相关的知识,希望对你有一定的参考价值。
创建一个对象的步骤
1.创建一个对象的步骤
Student s = new Student();
1,Student.class加载进内存
2,声明一个Student类型引用s
3,在堆内存创建对象,
4,给对象中属性默认初始化值
5,属性进行显示初始化
6,构造方法进栈,对对象中的属性赋值,构造方法弹栈
7,将对象的地址值赋值给s
2.例
- class bj07_6 {
- public static void main(String[] args) {
- Student s = new Student();
- s.show();
- }
- }
- class Student {
- private String name = "张三";
- private int age = 23;
- public Student() {
- name = "李四";
- age = 24;
- }
- public void show() {
- System.out.println(name + "..." + age);
- }
- }
执行流程:
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() {}里面没有方法语句体,也会调用构造方法,构造方法进栈,然后弹栈,走个过场.
以上是关于创建一个对象的步骤的主要内容,如果未能解决你的问题,请参考以下文章