黑马程序员技术交流社区

标题: 对象初始化过程 [打印本页]

作者: 风一样的少年    时间: 2015-8-3 09:55
标题: 对象初始化过程
class Person{
private String name = “haha”;
private int age = 10;
{
System.out.println(name + “***” + age);
naem = “hello”;
age = 20;
System.out.println(name + “***” + age);
}

//get… set…
}

Person p = new Person();
System.out.println(p.getName() + “***” + p.getAge());

A:把 Person.class文件加载到内存 (类加载器 )
B:在栈内存开辟一个变量空间,给 p使用
C: new Person()就会在对内存中开辟空间
D:方法进方法区,有类名做标记,并且,同时成员变量进堆内存并给出了默认初始化值
name:null
age:0

E:对成员变量进行显示初始化 (是因为定义成员变量的时候给赋值了 public int age = 34;)
name:hello
age:20
F:如果有构造代码块,可以在构造代码块中对成员变量赋值
name :world
age:30

H:到此为止,对象初始化完毕
I :把堆内存对象的首地址赋值给栈内存的 p变量




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2