static語句塊
static{}(即static塊),會(huì)在類被加載的時(shí)候執(zhí)行且僅會(huì)被執(zhí)行一次,一般用來初始化靜態(tài)變量和調(diào)用靜態(tài)方法. 在程序的執(zhí)行過程中,static{}語句塊中的內(nèi)容只被執(zhí)行一次
執(zhí)行時(shí)機(jī)static{}會(huì)在類被加載的時(shí)候執(zhí)行, 具體一點(diǎn)來說:
用Class.forName()加載的時(shí)候
實(shí)例化一個(gè)類的時(shí)候
調(diào)用類的靜態(tài)方法的時(shí)候
調(diào)用類的靜態(tài)變量的時(shí)候
注意
一是調(diào)用類的靜態(tài)常量的時(shí)候,是不會(huì)加載類的, 這是Java虛擬機(jī)的規(guī)定
二是用Class.forName()形式的時(shí)候,可以設(shè)定要不要加載類,如有一個(gè)類Test,
將Class.forName("Test")改為 Class.forName("Test",false,StaticBlockTest.class.getClassLoader())
則Test不會(huì)被加載,static{}不會(huì)被執(zhí)行
1、當(dāng)一個(gè)類中有多個(gè)static{}的時(shí)候,按照static{}的定義順序,從前往后執(zhí)行
2、先執(zhí)行完static{}語句塊的內(nèi)容,才會(huì)執(zhí)行調(diào)用語句
3、如果靜態(tài)變量在定義的時(shí)候就賦給了初值(如 static int X=100),那么賦值操作也是在類加載的時(shí)候完成的,并且當(dāng)一個(gè)類中既有static{}又有static變量的時(shí)候,遵循“先定義先執(zhí)行”的原則
普通內(nèi)部類不能有static的字段與方法, 但可以聲明static final的常量
class StaticTest { private class A1 { private static final int a = 1; // OK private static final String b = "shit"; // OK private static final Integer c = 1; //Fail private static final Object d = new Object(); //Fail private static final String e = new String("bump");//Fail } private static class A2 { private static final Object a2 = new Object(); // OK } }enum
JDK1.5開始提供enum特性, 能把相關(guān)的常量分組到一個(gè)枚舉類型中,而且枚舉提供了比常量更多的方法
public enum Color { RED("紅色", 1), GREEN("綠色", 2), BLANK("白色", 3), YELLO("黃色", 4); // 成員變量 private String name; private int index; // 構(gòu)造方法, 注意是私有的 private Color(String name, int index) { this.name = name; this.index = index; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getIndex() { return index; } public void setIndex(int index) { this.index = index; } }
由于所有的枚舉都繼承自java.lang.Enum類。由于Java 不支持多繼承,所以枚舉對(duì)象不能再繼承其他類
參考:http://www.cnblogs.com/happyP...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/65126.html
摘要:我的學(xué)習(xí)筆記匯總標(biāo)簽筆記分為兩大部分和筆記內(nèi)容主要是對(duì)一些基礎(chǔ)特性和編程細(xì)節(jié)進(jìn)行總結(jié)整理,適合了解基礎(chǔ)語法,想進(jìn)一步深入學(xué)習(xí)的人如果覺得不錯(cuò),請(qǐng)給,這也是對(duì)我的鼓勵(lì),有什么意見歡迎留言反饋目錄基礎(chǔ)鞏固筆記反射基礎(chǔ)鞏固筆記泛型基礎(chǔ)鞏 我的java&javaweb學(xué)習(xí)筆記(匯總) 標(biāo)簽: java [TOC] 筆記分為兩大部分:javase和javaweb javase javawe...
摘要:最近系統(tǒng)整理了一套初學(xué)者最佳的學(xué)習(xí)方法以及會(huì)遇到的坑等,希望對(duì)你有所幫助。正常的智商其實(shí),學(xué)習(xí)并不需要所謂的數(shù)學(xué)邏輯好,需要英語水平棒。大周期每天學(xué)習(xí)時(shí)間五個(gè)小時(shí)以上的,建議學(xué)習(xí)周期。三學(xué)習(xí)時(shí)會(huì)遇到的坑不知道學(xué)習(xí)的重點(diǎn),下面學(xué)習(xí)路線會(huì)畫。 最近系統(tǒng)整理了一套java初學(xué)者最佳的學(xué)習(xí)方法以及會(huì)遇到的坑等,希望對(duì)你有所幫助。 目錄: 一、學(xué)習(xí)java的前提 二、學(xué)習(xí)java的方法 三、學(xué)習(xí)...
摘要:而面向搜索引擎,就是我們要及時(shí)的使用百度谷歌遇到問題無法解決,先別急著放棄,可以去網(wǎng)絡(luò)尋找答案,你的坑大部分別人都已經(jīng)走過了,大部分都可以找到合適的解決方案。 showImg(https://segmentfault.com/img/remote/1460000019236352?w=866&h=456); 前言: ●眾多的語言,到底哪一門才是適合我的?●我們?yōu)槭裁匆獙W(xué)習(xí)Java語言呢...
摘要:請(qǐng)回復(fù)這個(gè)帖子并注明組織個(gè)人信息來申請(qǐng)加入。權(quán)限分配靈活,能者居之。數(shù)量超過個(gè),在所有組織中排名前。網(wǎng)站日超過,排名的峰值為。導(dǎo)航歸檔社區(qū)自媒體平臺(tái)微博知乎專欄公眾號(hào)博客園簡書合作侵權(quán),請(qǐng)聯(lián)系請(qǐng)抄送一份到贊助我們 Special Sponsors showImg(https://segmentfault.com/img/remote/1460000018907426?w=1760&h=...
摘要:請(qǐng)回復(fù)這個(gè)帖子并注明組織個(gè)人信息來申請(qǐng)加入。版筆記等到中文字幕翻譯完畢后再整理。數(shù)量超過個(gè),在所有組織中排名前。網(wǎng)站日超過,排名的峰值為。主頁歸檔社區(qū)自媒體平臺(tái)微博知乎專欄公眾號(hào)博客園簡書合作侵權(quán),請(qǐng)聯(lián)系請(qǐng)抄送一份到贊助我們 Special Sponsors showImg(https://segmentfault.com/img/remote/1460000018907426?w=1...
閱讀 1951·2021-10-12 10:12
閱讀 3078·2019-08-30 15:44
閱讀 848·2019-08-30 15:43
閱讀 3000·2019-08-30 14:02
閱讀 2085·2019-08-30 12:54
閱讀 3507·2019-08-26 17:05
閱讀 1988·2019-08-26 13:34
閱讀 1060·2019-08-26 11:54