標籤:static
static是靜態意思。
static關鍵字:
1.static修飾的變數叫做“靜態變數”.
2.static修飾的方法叫做“靜態方法”.
3.static還可以定義靜態語句塊.
以下例子示範:static定義靜態語句塊
static定義的靜態語句塊在類載入階段執行,並且只執行一次,並且是自上而下的順序執行
public class StaticTest01{//靜態語句塊static{System.out.println("1");}static{System.out.println("2");}static{System.out.println("3");}static{System.out.println("4");}//入口public static void main(String[] args){System.out.println("main execute! 1");System.out.println("main execute! 2");}}//1 2 3 4 main execute!1 main excute!2
靜態方法不能直接調用成員方法,成員變數和使用this關鍵字。因為靜態方法的訪問時"類名."方式。
關於執行個體語句塊
/*關於執行個體語句塊每一次調用構造方法之前會執行一次。執行個體語句塊執行順序也是自上而下。*/public class StaticTest02{//靜態語句塊static{System.out.println("A");}//執行個體語句塊{System.out.println("1");}{System.out.println("2");}{System.out.println("3");}//構造方法StaticTest02(){System.out.println("StaticTest02無參數的構造執行!");}//入口public static void main(String[] args){//調用構造方法new StaticTest02();new StaticTest02();new StaticTest02();}}// 1 2 3 4 StaticTest02無參數的構造執行! // 1 2 3 4 StaticTest02無參數的構造執行! // 1 2 3 4 StaticTest02無參數的構造執行! /*static修飾的變數叫做“靜態變數”變數分類:1.局部變數2.成員變數(執行個體變數,非靜態變數)3.靜態變數(方法區)什麼時候變數聲明成靜態變數?如果這個屬性所有的對象都有,並且這個屬性的值是相同的,則該屬性聲明成靜態屬性。成員變數:建立java對象的時候初始化。靜態變數:在類載入階段賦值,並且只賦值一次。*/public class StaticTest04{public static void main(String[] args){Animal a1 = new Animal("AAA",10);Animal a2 = new Animal("BBB",11);//如何訪問(類名.)System.out.println(Animal.type);//也可以使用 引用.System.out.println(a1.type);Animal a3 = null;System.out.println(a3.type); //靜態變數底層訪問的時候一定使用的 類名. 和對象無關,不會出現null 指標異常。}}//抽象現實世界中的“陸生”動物class Animal{//Field//成員變數(一個對象一份.)//成員變數在建立對象的時候初始化,並且儲存在堆中的每一個對象中。String name;int age;//靜態變數,被儲存在方法區.//所有的java對象共用這一份。//所以靜態變數是類層級的,使用“類名.”的方式訪問.static String type = "陸生";//ConstructorAnimal(String name,int age){this.name = name;this.age = age;}}
本文出自 “gaogaozi” 部落格,請務必保留此出處http://hangtiangazi.blog.51cto.com/8584103/1661136
java中的static關鍵字