1. 程式人生 > >Java中關鍵字小總結!

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 finalfinal關鍵字可以應用於類,以指示不能擴充套件該類,也可以用於方法,表示不能重寫此方法。一個類或者方法既是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指匿名內部類或者內部類本身,如果這時要使用外部類的方法或者變數的話,要加上外部類的類名。