JAVA拾遗1
1? static修飾符
??? 類的成員變量分為靜態變量和實例變量,???? 被stacit修飾的變量,叫靜態變量,沒被修飾的就是實例變量了.
靜態變量的特點,在于其在內存中只有一個COPY,在使用時不需要實例化,直接用類名來調用就可以了.
?? 同樣,比如
???? public static int add()
?這樣的叫靜態方法,同樣,使用靜態方法時不需要實例化類.
?? 在靜態方法中要注意兩點
??? A 靜態方法中,不能用this關鍵字,也不能訪問非靜態變量,比如
??? public class Voter{
??? private static int count;???
? private String name;??
?????
?public static void printVoteResult(){
??? System.out.println("當前投票數為:"+count); //正確
???? System.out.println("當前投票數為:"+name); //錯誤
? System.out.println("當前投票數為:"+this.name); //錯誤
? 同樣,靜態方法中不能用super關鍵字
??? 此外,靜態方法必須被實現,因為靜態方法是表示某個類的特有功能,不需要實例化,因此必須要給實現.,比如
??? static abstract void add()是錯誤的。
2? 類的初始化
????? A 對于final類型的變量,如果在編譯時能計算其值,則此時該類不會被初始化,比如
?? class Tester
? {
?? public static final int a=2*3;
static
? {?
System.out.println("abc");
??? }
}
? public class samle
{
?? System.out.println("a="+Tester.a);
? }
?則只會輸出a=6
? 而如果是編譯時算不出的話,則要初始化這個類,比如
?? public static final int? a=....運算表達式;
3 final修飾符
??? final修飾的方法不能被子類的方法覆蓋,修飾的類不能被子類繼承,要注意的是,在一個類中,如果出現final常量,則必須被初始化,
? 比如
? public a
{
? final int a;//錯誤
}
轉載于:https://www.cnblogs.com/jackyrong/archive/2008/06/16/1223296.html
總結
- 上一篇: 慕课版软件质量保证与测试(第四章.课后作
- 下一篇: 行间css样式