java 代码块

来源:互联网 发布:怎么在mac上格式化u盘 编辑:程序博客网 时间:2024/06/05 07:32
<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

0 0
原创粉丝点击