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