1. 程式人生 > >Java 初級面試題

Java 初級面試題

1.this和super

this是一個指向本物件的指標, 然而super是一個Java關鍵字。

this 指向當前物件 ,super 指向當前物件的父類

  • 直接this.xxx    直接super.xxx
  • this 在構造方法中,如果引數和成員變數重名  用來區分成員變數和引數  ,  super  如果父類和子類有重名的方法名或者成員變數名 用super區分
  • this()和super()都指的是物件,所以均不可以在static環境中使用。包括:static變數,static方法,static語句塊。
  • this(引數):呼叫本類中另一種形式的建構函式(放在建構函式中的第一條語句),super(引數):呼叫父類中的某一個建構函式(放在建構函式中的第一條語句)。

注意:只要父類存在有引數構造方法,子類構造方法中需要顯式呼叫父類的構造方法

           this 和 super  不能出現在同一個構造器裡

           子類沒有顯式宣告任何構造方法的時候建立子類物件,會調父類無引數的構造方法

            this() super() 呼叫構造方法放在構造方法的第一行

2.== 和 equals

==比較記憶體中的地址,equals是類的方法,Object中的equals方法是比較記憶體中的地址,其他子類可以重寫,例如String重寫了equals,可以比較字串內容

3.  靜態變數static和常量final

static 修飾的方法或者屬性屬於類的 不用例項化物件就可以直接呼叫,,  和繼承沒有任何關係  

final 不可以修飾介面,

final 不能修飾抽象類,

final 修飾的變數後即為常量 值不可更改

final 修飾的常量, 必須要賦值。  可以初始化的時候賦值, 可以在構造方法裡賦值。

final 修飾的方法不能被重寫  可以在一個類裡過載

4.
父類指向子類的引用 這個是自動的
可以呼叫子類或者父類裡的方法 (要是調子類的方法  該方法必須是重寫的方法)

5. 過載 和 重寫

過載:在同一個類裡,方法名相同,簽名的順序,簽名的個數,簽名的資料型別不同。

重寫:在父子類裡,方法名相同, 簽名完全相同,返回值型別相同。子類的異常範圍小於等於父類,子類的返回值範圍小於等於父類,子類的許可權修飾符大於等於父類,private修飾的方法不能被子類重寫,呼叫順序 先調子類的

6.抽象類和介面

  • 抽象類不能被例項化(不能建立物件)
  • 抽象類不一定包含抽象方法 但是含有抽象方法的類一定是抽象類,
  • 抽象類的抽象方法沒有方法體只有宣告
  • 構造方法,static 類方法 不能宣告為抽象方法
  • 抽象類的子類必須給出抽象類中的抽象方法的實現除非子類還是抽象類
  • 介面中的每一個方法都是隱式抽象的(public abstract)
  • 介面中的每一個屬性都是public static final 型別的
  • 介面的方法不能在介面實現 只能由實現介面的類來實現,一個類可以實現多個介面,  一類只能繼承一個類

例如:一個類要實現一個介面,那麼必須實現接口裡的每個方法,那麼如果你實現了接口裡的一部分方法,而有些方法沒有實現的話,那麼這個類就必須定義成抽象類,如果全部實現了介面中的方法,你可以定義這個類抽象,也可以定義這個類為實體類(因為一個類含有抽象方法的話這個類就必須定義成抽象類)。

7.許可權修飾符的種類和區別

                           public              protected                default                         private

同一個類              √                          √                              √                                 √

同一個包              √                          √                              √                                 ×

子   父類               √                          √                              ×                                 ×

不同的包              √                          ×                              ×                                 ×