內部類,介面,區域性變數

2021-09-26 01:29:19 字數 432 閱讀 1065

1、介面方法不能包含有方法體,介面方法都是抽象方法(abstract)

2、介面方法預設都使用abstract進行修飾,可寫可不寫

自動型別轉換(向上轉型,向下轉型)

在內部類中,如果有變數與外部類的變數名稱相同,優先使用內部類的變數

內部類可以直接在外部類中使用,用於完成特定的功能

靜態內部類是外部類的靜態成員

靜態內部類可以看成是乙個外部類

靜態內部類可以直接new,不需要通過外部類物件進行操作

區域性內部類是編寫在方法或**塊內部的類

區域性內部類不能使用訪問修飾符號,static

可以使用final和abstract修飾

在區域性內部類中,訪問區域性變數是以final形式傳遞

不能在區域性內部類中修改區域性變數

區域性內部類的使用 - 一般以匿名內部類的形式進行使用

區域性和匿名內部類區域性變數為final

內部類和外部類是處於同乙個級別的,內部類不會因為定義在方法中就會隨著方法的執行完畢就被銷毀 所以為了防止方法執行完畢,引用了乙個不存在的變數,就copy乙份區域性變數作為內部類的成員變數,當區域性變數沒有之後,實際訪問的是copy的複製品。設定為final,保證一致性,內部類和外部類是處於同乙個級別...

物件導向 區域性內部類訪問區域性變數的問題

區域性內部類 a 可以直接訪問外部類的成員 b 在區域性位置,可以建立內部類物件,通過物件呼叫內部類方法,來使用區域性內部類功能。面試題 區域性內部類訪問區域性變數的注意事項 a 區域性內部類訪問區域性變數必須用final修飾 b 為什麼呢?因為區域性變數會隨著方法的呼叫而呼叫,隨著呼叫完畢而消失。...

內部類為什麼必須引用final區域性變數

在方法中建立內部匿名類時,一般是作為callback介面的實現而建立的,可能方法已經執行完了區域性變數生命週期結束了,之後如果callback觸發了,就可能引起變數引用丟失等記憶體訪問不一致。而加上final後,編譯器是這樣處理內部類的。如果這個外部區域性變數是常量,則在內部類 中直接用這個常量。如...