您的位置:首页 > 编程语言 > Java开发

java 代码块

2015-03-01 09:47 148 查看
<pre name="code" class="java">public class Person{
String name
//构造方法
Person()
{
System.out.println("a");
}
person(String name)
{
this.name = name;
System.out.println("d");
}

 //静态代码块,随着类的建立初始化,用于类初始化
static
{
System.out.println("b");
}

//对象代码块,随着对象的建立初始化,优先于构造方法先执行,用于对象初始化
{
System.out.println("c");
}

public static void main(String[] args) {
//Person p = new Person("zhangsan");这句话做了什么事情?
        //1.因为new 用到了Person.class,所以会先找到Person.class文件并加载到内存中。
//2.如果有static代码块,执行该类中的static代码块 ,给Person.class类进行初始化
//3.在堆内存开辟空间,分配内存地址。
//4.在堆内存中建立对象的特有属性,并进行默认初始化
//5.对属性进行显示初始化
//6.对对象进行构造代码块初始化
//7.对对象进行对应的构造函数初始化
//8.将内存地址赋值给栈内存中的p变量
 Person p = new Person("zhangsan");
}

}


执行结果: b c d

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 内存 代码块