Java一個對象的初始化過程

前言:愛生活,愛分享。
原文出處:http://blog.csdn.net/u014158743/article/details/52601494

/*
一個對象的初始化過程:
1:因爲創建對象需要字節碼文件,所以先加載字節碼文件到方法區
2:如果有靜態代碼塊執行靜態代碼塊
3:在堆中開闢內存
4:爲成員變量賦默認值
5:爲成員變量賦初始值
6:執行構造代碼塊
7:執行構造函數
8:把對象在堆中的內存地址賦給棧中的變量
*/
class Person
{
    private String name="xiaohong";
    private int age=23;
    private static String country="CN";

    {
        System.out.println(name+"  "+age);
    }

    public Person(String name,int age)
    {
        this.name = name;
        this.age = age;
    }
    public void setName(String name)
    {
       this.name = name;
    }
    public String getName()
    {
        return this.name;
    }
}
class  Demo
{
    public static void main(String[] args) 
    {
        Person p = new Person("小白",20);
        p.setName("小黑");

    }
}

發佈了41 篇原創文章 · 獲贊 10 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章