date0405/DuiXiangChuShiHuaGuoCheng.java

来源:互联网 发布:华东交大软件学院分数 编辑:程序博客网 时间:2024/06/07 17:02
class Person{private String name="haha";private int age;Person(String name, int age){this.name=name;this.age=age;}{System.out.println("Gouzaodaimakuai..."+name);}static {System.out.println("static code running");}public void getInfo(){System.out.println("name="+name+"age="+age);}}class DuiXiangChuShiHuaGuoCheng{public static void main(String[] args) {Person p = new Person("lisi",20);p.getInfo();}}/*Person p = new Person("lisi",20);该句话都做了什么?1、因为new用到了Person.class.所以会先找到Person.class文件并加载到内存中。2、执行该类中的静态代码块,给Person.class类进行初始化。3、在堆内存中开辟空间,分配内存地址。4、在堆内存中建立对象的特有属性,并进行默认初始化。5、对属性进行显示初始化。6、对对象进行构造代码块的初始化。7、对对象进行对应构造函数的初始化。8、将内存地址付给栈内存中的变量p*//*E:\javademo\date0405>java DuiXiangChuShiHuaGuoChengstatic code runningGouzaodaimakuai...hahaname=lisi       age=20*/

0 0
原创粉丝点击