網(wǎng)站制作網(wǎng)站建設(shè)需要多少錢網(wǎng)站銷售怎么推廣
文章目錄
- static
- 構(gòu)造方法
- 內(nèi)存中數(shù)據(jù)的存儲方式
- 示例
static
具體對象的屬性,稱之為對象屬性,成員屬性,實例屬性。
具體對象的方法,稱之為對象方法,成員方法,實例方法。
靜態(tài):static
- 和具體對象無關(guān),只和類相關(guān)的屬性,稱之為靜態(tài)屬性。
- 和具體對象無關(guān),只和類相關(guān)的方法,稱之為靜態(tài)方法。
靜態(tài)屬性和靜態(tài)方法,不用實例化對象,可直接通過類來使用。
先有類,再有對象。對象也可直接訪問類的靜態(tài)屬性和靜態(tài)方法。
- 成員方法可訪問類的靜態(tài)屬性和靜態(tài)方法,也可訪問成員屬性和其他的成員方法。
- 靜態(tài)方法只能訪問類的靜態(tài)屬性和其他靜態(tài)方法,不能訪問成員屬性和成員方法。
構(gòu)造方法
- 構(gòu)造方法沒有 void 關(guān)鍵字
- 構(gòu)造方法的名稱和類名完全相同。
- 如果類中沒有顯式定義構(gòu)造方法,JVM 會隱式創(chuàng)建一個無參的構(gòu)造方法。
執(zhí)行順序: 靜態(tài)代碼塊 -> 成員代碼塊 -> 構(gòu)造方法
內(nèi)存中數(shù)據(jù)的存儲方式
- 元空間:存儲的是類的結(jié)構(gòu)信息、靜態(tài)屬性、靜態(tài)方法、靜態(tài)代碼塊。
- ??臻g:存儲的是變量。
- 堆空間:存儲的是具體對象的信息。
示例
class People {String name;String nationality = "china";
}class Bird {// 成員屬性String name;// 構(gòu)造方法// 常用于成員屬性的初始化操作Bird(String a) {name = a;System.out.println("構(gòu)造方法 " + name);}// 成員方法void test() {System.out.println("成員方法 " + name);}// 靜態(tài)屬性static String type = "bird";// 靜態(tài)方法static void fly() {System.out.println("bird can fly");}// 靜態(tài)代碼塊:當(dāng)類的信息加載完成時,會自動優(yōu)先調(diào)用靜態(tài)代碼塊。// 靜態(tài)代碼塊可有多個,依次按順序執(zhí)行// 靜態(tài)代碼塊常用于靜態(tài)屬性的初始化操作static {System.out.println("靜態(tài)代碼塊");}// 成員代碼塊:當(dāng)創(chuàng)建對象(實例化類)時,成員代碼塊會自動執(zhí)行。// 成員代碼塊在靜態(tài)代碼塊之后,構(gòu)造方法之前執(zhí)行。{System.out.println("成員代碼塊");}
}
People a = new People();
a.name = "jack";
System.out.println("name:" + a.name + " nationality:" + a.nationality);// System.out.println(Bird.type);
// Bird.fly();
Bird b = new Bird("b1");