Java中關鍵字小總結!
1、訪問控制符
public:公共的,其限制最小
protected:受保護的,通常作為繼承許可權
default:預設的。
private:私有的,其限制最大。
修飾類的訪問控制符:public和預設的訪問控制符;修飾普通方法(構造方法)或者屬性的訪問控制符:上述四種都可以。
訪問控制符 | 同一個類的內部 | 同一個包的內部 | 不同包的子類 | 不同包中的非子類 |
public | YES | YES | YES | YES |
protected | YES | YES | YES | NO |
default | YES | YES | NO | NO |
private | YES | NO | NO | NO |
2、類、方法、變數修飾符
2.1 abstract:宣告抽象
2.2 class:宣告是個類
2.3 extends:表明繼承關係
2.4 interface:表明介面
2.5 implements:實現介面
2.5 new:建立新的物件
2.6 static:
1>靜態類:通常情況下一個普通類是不允許宣告為靜態類的,只有一個內部類才可以。這時這個宣告為靜態的內部類就可以直接作為一個普通類來使用,無須例項一個外部類。
class Outer{ class Inner1{//非靜態內部類 } static class Inner2 {//靜態內部類 Inner2() { System.out.println("sort!"); } } } public class sortAlgorithm { public static void main(String[] args){ Outer.Inner2 inner=new Outer.Inner2(); //訪問靜態的內部類 Outer.Inner1 inner1=new Outer().new Inner1();//訪問非靜態的內部類 方法一 //方法二 Outer out = new Outer(); Outer.Inner1 inner1 = out.new Inner1(); } }
2>靜態方法
在一個類裡面定義一個方法為靜態的,也就是說無須本類的物件也可以呼叫此方法。宣告為靜態方法有以下幾條限制:
他們僅能呼叫其他的static方法;只能訪問static資料;不能引用this或者super。
呼叫靜態方法就是:“類名.方法名”
3>靜態變數:宣告為static變數實質上就是“全域性變數”。靜態變數與靜態方法類似,所有的此類例項共享此靜態變數,也就是說在類載入的時候,只分配一塊儲存空間,所有此類的物件都可以操縱這塊儲存空間。
總的來說,static宣告的變數要優於非static變數。
2.7 final:final關鍵字可以應用於類,以指示不能擴充套件該類,也可以用於方法,表示不能重寫此方法。一個類或者方法既是abstract也是final,意味著必須擴充套件或者重寫類或者方法,會產生錯誤,因此兩者不可以同時出現。
3、異常處理
3.1 try:用於監聽,將要被監聽的程式碼(可能發生異常的程式碼)放在try語句塊內,當try語句塊內發生異常的時候,異常就被丟擲。
3.2 catch:用於捕獲異常,catch塊用來捕獲try塊內發生的異常。
3.3 finally:該塊總是被執行,它主要用於回收在try塊裡開啟的資源,具體用法見前幾篇部落格。
3.4 throw:用於丟擲異常。
3.5 throws:用在方法中,宣告該方法可能發生的異常。
4、變數引用
4.1 super:呼叫父類的構造方法;操作被隱藏的成員變數或者被覆蓋的成員方法。
4.2 this:
1>當成員變數與區域性變數重名時,在方法中使用this,表示的是該方法所在類的成員變數(this是當前物件自己)
2>把自己當做引數進行傳遞,也可以用,(this做當前引數進行傳遞)
3>當在匿名內部類中用this的時候,this指匿名內部類或者內部類本身,如果這時要使用外部類的方法或者變數的話,要加上外部類的類名。