1.static 使用場景:
- 修飾變量
- 修飾方法
- 可以修飾
- 靜態(tài)導(dǎo)包
法
?
import static java.lang.System.out**;
**import static *java.lang.Integer.;
**public class **StaticTest {
**public static void **main(String[] args) {
out.println(MAX_VALUE);
}
}
2 .static代碼塊執(zhí)行順序 總結(jié)一下(父靜子靜尸红,父非靜痹扇,父構(gòu)造抓于,子非靜口四,子構(gòu)造)(同一類中相同內(nèi)容的比如靜態(tài)或者非靜態(tài)實例的執(zhí)行順序都是從上往下依次執(zhí)行)
package net.csdn.se.statictest;
import net.csdn.se.statictest.Child;
public class Parent {
static {
System.out.println("父類的靜態(tài)塊");
}
private static String staticStr = getStaticStr();
private String str = getStr(); //非靜態(tài)變量成員變量
{
System.out.println("父類的實例塊"); //非靜態(tài)代碼塊
}
public Parent() {
System.out.println("父類的構(gòu)造方法");
}
private static String getStaticStr() {
System.out.println("父類的靜態(tài)屬性初始化");
return null;
}
private String getStr() {
System.out.println("父類的實例屬性初始化");
return null;
}
public static void main(String[] args) {
new Child();
}
}
package net.csdn.se.statictest;
import java.util.HashMap;
public class Child extends Parent {
static {
System.out.println("子類的靜態(tài)塊"); //同一個類中怎囚,靜態(tài)內(nèi)容的執(zhí)行順序是由上往下執(zhí)行的,非靜態(tài)也是一樣的
}
private static String staticStr = getStaticStr();
{
System.out.println("子類的實例塊");
}
public Child() {
System.out.println("子類的構(gòu)造方法");
}
private String str = getStr();
private static String getStaticStr() {
System.out.println("子類的靜態(tài)屬性初始化");
return null;
}
private String getStr() {
System.out.println("子類的實例屬性初始化");
HashMap map = new HashMap();
map.put("key","value");
return null;
}
}
執(zhí)行 new Child()的時候回先創(chuàng)建父類床佳,上面代碼的執(zhí)行結(jié)果順序是:
父類的靜態(tài)塊
父類的靜態(tài)屬性初始化
子類的靜態(tài)屬性初始化
子類的靜態(tài)塊
父類的實例屬性初始化
父類的實例塊
父類的構(gòu)造方法
子類的實例塊
子類的實例屬性初始化
子類的構(gòu)造方法
同一個類中的靜態(tài)內(nèi)容的執(zhí)行順序是代碼從上往下加載
結(jié)尾
看完如果對你有幫助滋早,感謝點贊支持!