对象初始化过程

来源:互联网 发布:小米线刷软件 编辑:程序博客网 时间:2024/05/22 14:40
class Person {private String name = "erhuo";//"erhuo"的值将在默认初始化后对name进行显示初始化private int age;private static String country = "CN";Person(String name, int age){this.name = name;this.age = age;}//静态代码块static{}//构造代码块{System.out.println(name + "..." + age);}public void setName(String name){this.name = name;}public void speak(){System.out.println(this.name + ", " + this.age);}public static void showCountry(){System.out.println("Country=" + country);}}class newPerson{public static void main(String[] args) {Person p = new Person("zhangsan", 20);}}/**当程序执行到Person p = new Person("zhangsan", 20);的时候,将按顺序执行以下步骤:1.因为new用到了Person.class类,所以先由JVM的CLASSLOADER将Person类加载到内存中;2.如果有静态代码块则加载静态代码块,给Person类进行初始化;3.在堆内存中分配内存空间;4.在堆内存中建立对象的特有属性,并进行默认初始化;5.对属性进行显示初始化;6.对对象进行构造代码块初始化;7.对对象进行对应的构造函数初始化;8.将内存地址给栈内存的变量。*/

0 0
原创粉丝点击