java基礎三

1.反射 註解

反射是

   java在在jvm運行時運行期間動態獲取類的信息,包括屬性 方法。

註解是 繼承了Annocation的接口,

解析註解的方式:  一種是編譯器,掃描類中的註解,根據註解,編譯器進行某些操作。一種是通過反射調用。

元註解: 註解的註解。

  •  @Target  註解的目標 @Retention 註解的生命週期 @Inherit 是否允許子類繼承

內置註解 @Override @Deprecated(過時的方法)

public @interface anT{} 自定義註解。

註解的作用

清晰的幫助我們知道代碼是做什麼的。

在編譯期進行檢測。

在框架中,利用註解 通過反射,減少配置文件的使用。

2.異常

異常分爲error exception

error 是值jvm自身造成的,如溢出。

excpetion  是異常時可進行捕獲的。包括

    運行時異常,即平常我們所說的空指針,數組越界,class notfinfd,ArithmeticException分子爲0.運行時異常都是無法檢測的,在運行期間才能檢測出。

     ioe Exception : 

檢查性異常:需要強制進行 trycatch的。非檢查性異常: 不需要捕獲,runtime異常。

package test;

class Test {
    public static void main(String[] args) {
        System.out.println(new B().getValue()); 
    }
    static class A {
        protected int value ;
        public A (int v) {
            setValue(v);
        }
        public void setValue(int value) {
            this.value= value;
        }
        public int getValue() {
            try {
                value ++;
                return value;
            } finally {
                this.setValue(value); 
                System.out.println(value);
            }
        }
    }
    static class B extends A {
        public B () {
            super(5);
            setValue(getValue()- 3);
        }
        public void setValue(int value) {
            super.setValue(2 * value);
        }
        
    }
}
 

執行過程是,

一.  super(5)  執行父類構造方法,然後裏面執行this.setvalue 。繼續執行裏面的supe.setValue(2*5) ; value=10

二 .setValue(getValue() -3) ,執行value++,11,保留此時的return value值,然後去執行finally,打印22。  setValue(11-3),value 16.

三 執行newB.getValue()return 16+1; 打印 34.然後執行輸出 17.

3.  封裝 多態 抽象類 接口

封裝 :在類中將變量聲明爲private ,然後暴露出 public 的set get方法,可以將變量設爲只能讀取或者只能寫入。用戶不需要知道類中變量是如何賦值的,類對外暴只是露出接口,具體的實現進行封裝。

多態:

有兩方面的行爲,一是從父類繼承的方法,方法中的內容可以進行根據自身需求具體編寫。

二是,可以進行重載,方法名相同,但參數類型個數不一樣,從而表現出不一樣的行爲。、

接口:  

接口默認是抽象類 是不可實例化的,其方法也是public 且抽象的。是對行爲的抽象,是一組行爲規範。

類實現接口,實現其具體的方法

好處: 將設計與實現分離,對外隱藏實現。面向接口編程oop。

接口和抽象類的 區別:

抽象類是有抽象方法,抽象方法只能用作被聲明,抽象類不能被實例化 ,其他的更與普通類差不多。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章