備戰BAT面試 查漏補缺 介面與抽象類

2021-10-05 23:08:31 字數 1201 閱讀 5693

介面

介面方法的訪問許可權

jdk 1.8以前,介面中的方法必須是public的

jdk 1.8時,介面中的方法可以是public的,也可以是default的

jdk 1.9時,介面中的方法可以是private的

介面函式的宣告

在介面中,屬性預設public static final,這三個關鍵字可以省略;方法預設是public abstract,介面中不允許有static型別的方法。

簡單來說,如果在介面中宣告的變數public int a 或 static int a效果是一樣的。因為在系統中它實際上都是宣告成了public final static int a。

寫抽象方法時需要注意的一點

abstract private move(){},這個是錯的應該是abstract private move();因為抽象方法沒有方法體。

抽象類抽象類方法的訪問許可權

jdk 1.8以前,抽象類的方法預設訪問許可權為protected

jdk 1.8時,抽象類的方法預設訪問許可權變為default

抽象類與介面的比較

異:介面

抽象類不能有構造方法

可以有構造方法

沒有普通成員變數

可以有普通成員變數

所有方法必須都是抽象的,不能有非抽象的普通方法

可以包含非抽象的普通方法

抽象方法只能是public型別的,並且預設即為public abstract型別

抽象方法的訪問型別可以是public,protected

不能包含靜態方法

可以包含靜態方法

定義的變數只能是public static final型別,並且預設即為public static final型別

靜態成員變數的訪問型別可以任意

乙個類可以實現多個介面

乙個類只能繼承乙個抽象類

同:

都可以包含靜態成員變數

不能直接例項化

備戰BAT面試 查漏補缺 IO相關

io相關 io概述 站在記憶體的角度上,從其他的裝置進入記憶體的,都是輸入,從記憶體到其他的裝置的都是輸出,i o就是用於裝置之間的進行傳遞的資料互動的物件的所屬的型別。位元組流與字元流 位元組流 通常用來處理二進位制資料 處理的是bit 字元流 處理的最基本的單元是unicode碼元 大小2位元組...

備戰BAT面試 查漏補缺 雙親委派模型

對於某個特定的類載入器而言,應該為其指定乙個父類載入器,當用其進行載入類的時候 1.委託父類載入器幫忙載入 2.父類載入器載入不了,則查詢引導類載入器有沒有載入過該類 3.如果引導類載入器沒有載入過該類,則當前的類載入器應該自己載入該類 4.若載入成功,返回 對應的class 物件 若失敗,丟擲異常...

備戰BAT面試 查漏補缺 如何計算複雜度

因為可以脫離測試環境,硬體裝置,資料規模等意外因素的干擾。大o複雜度表示法 int test int n return a 在上式中設每行 執行時間為乙個單位時間。那麼第2 3行分別需要乙個單位時間,所以需要2單位時間。而4 5行都執行了n遍,所以需要2n單位時間。總的需要 2n 2 單位時間。所以...