final和static關鍵字二
阿新 • • 發佈:2020-07-23
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