看不懂啊?
public class HelloWorld {
? ??
? ? String name; // 聲明變量name
String sex; // 聲明變量sex
static int age;// 聲明靜態(tài)變量age
? ??
? ? // 構(gòu)造方法
public name() {?
System.out.println("通過(guò)構(gòu)造方法初始化name");
name = "tom";
}
? ??
? ? // 初始化塊
{?
System.out.println("通過(guò)初始化塊初始化sex");
sex = "男";
}
? ??
? ? // 靜態(tài)初始化塊
static {?
System.out.printlnst("通過(guò)靜態(tài)初始化塊初始化age");
age = 20;
}
? ??
public void show() {
System.out.println("姓名:" + name + ",性別:" + sex + ",年齡:" + age);
}
? ??
public static void main(String[] args) {
? ? ? ??
? ? ? ? // 創(chuàng)建對(duì)象
HelloWorld hello = new HelloWorld();
// 調(diào)用對(duì)象的show方法
? ? ? ? HelloWorld.show();
? ? ? ??
}
}
2018-06-17
錯(cuò)誤①:構(gòu)造方法名應(yīng)與類(lèi)名相同
②:調(diào)用對(duì)象show方法應(yīng)為:hello.show();
2018-05-13
在Java中,有兩種初始化塊:靜態(tài)初始化塊和非靜態(tài)初始化塊。它們都是定義在類(lèi)中,用大括號(hào){}括起來(lái),靜態(tài)代碼塊在大括號(hào)外還要加上static關(guān)鍵字。
非靜態(tài)初始化塊(構(gòu)造代碼塊):
作用:給對(duì)象進(jìn)行初始化。對(duì)象一建立就運(yùn)行,且優(yōu)先于構(gòu)造函數(shù)的運(yùn)行。
與構(gòu)造函數(shù)的區(qū)別:非靜態(tài)初始化塊給所有對(duì)象進(jìn)行統(tǒng)一初始化,構(gòu)造函數(shù)只給對(duì)應(yīng)對(duì)象初始化。
應(yīng)用:將所有構(gòu)造函數(shù)共性的東西定義在構(gòu)造代碼塊中。
靜態(tài)初始化塊:
作用:給類(lèi)進(jìn)行初始化。隨著類(lèi)的加載而執(zhí)行,且只執(zhí)行一次
與構(gòu)造代碼塊的區(qū)別:
1)構(gòu)造代碼塊用于初始化對(duì)象,每創(chuàng)建一個(gè)對(duì)象就會(huì)被執(zhí)行一次;靜態(tài)代碼塊用于初始化類(lèi),隨著類(lèi)的加載而執(zhí)行,不管創(chuàng)建幾個(gè)對(duì)象,都只執(zhí)行一次。
2)靜態(tài)代碼塊優(yōu)先于構(gòu)造代碼塊的執(zhí)行
3)都定義在類(lèi)中,一個(gè)帶static關(guān)鍵字,一個(gè)不帶static
構(gòu)造函數(shù)、非靜態(tài)初始化塊、靜態(tài)代碼塊都是用于初始化,三者的執(zhí)行順序依次是:靜態(tài)代碼塊>構(gòu)造代碼塊>構(gòu)造函數(shù)。
其實(shí)初始化塊就是構(gòu)造器的補(bǔ)充,初始化塊是不能接收任何參數(shù)的,定義的一些所有對(duì)象共有的屬性、方法等內(nèi)容時(shí)就可以用初始化塊初始化了。
靜態(tài)初始化塊的作用就是當(dāng)JVM在裝載類(lèi)時(shí),你想讓它做一些事情,那么,就可以用靜態(tài)初始化塊。這幾者的執(zhí)行順序是:
(JVM在裝載類(lèi)時(shí))先裝載類(lèi)的靜態(tài)成員,再執(zhí)行靜態(tài)初始化塊(同樣,當(dāng)一個(gè)類(lèi)有繼承自某類(lèi)時(shí),則會(huì)先裝載該父類(lèi),那么,父類(lèi)的裝載或執(zhí)行順序,也都如句子所述)。
(在創(chuàng)建類(lèi)的實(shí)例時(shí))先執(zhí)行實(shí)例初始化塊,再執(zhí)行構(gòu)造方法;但對(duì)于一棵繼承樹(shù)中,會(huì)先調(diào)用父類(lèi)的構(gòu)造方法,那么其執(zhí)行順序也如句子所述。