1. 程式人生 > 實用技巧 >final和static關鍵字二

final和static關鍵字二

static

  靜態的東西可以被該類所有的物件共享;

    被存在方法區中的靜態區中。

  靜態的東西可以直接用物件名呼叫,也可以用類名呼叫,但是推薦用類名呼叫;

    假如不用類名呼叫的話,還得新建一個物件才可以呼叫。浪費空間。

  靜態的隨著類的載入而載入進來,比建立物件要載入的早,非靜態的東西隨著物件的建立而存在, 它比靜態的加在的晚。

  靜態的方法內,不能有this,因為this指向的是物件,但是靜態的方法比物件先出現

  程式碼:

    區域性程式碼塊:大括號內的,一旦執行完,立刻銷燬記憶體。

    構造程式碼塊:每次呼叫構造方法,都會執行構造程式碼塊,而且會在構造方法之前。

       作用:可以把所有構造方法裡面,共有的一些反覆的程式碼,放在構造程式碼塊內。

package final_demo;

public class Person {
    {
        System.out.println("構造程式碼塊");
    }
    public Person() {
        System.out.println("無參構造方法");
    }
    public Person(int age) {
        System.out.println("有參構造方法 "+ age);
    }
    static {
        System.out.println(
"靜態程式碼塊"); } }


package final_demo;

public class Demo4 {
    public static void main(String[] args) {
        Person p1 = new Person();
        Person p2 = new Person(10);
    }
}

//靜態程式碼塊
//構造程式碼塊
//無參構造方法
//構造程式碼塊
//有參構造方法 10