1. 程式人生 > >abstract不能和哪些關鍵字共存 學習

abstract不能和哪些關鍵字共存 學習

類重寫 AC void print private 類對象 子類 final 有意

/*

  • A:面試題1
    • 一個抽象類如果沒有抽象方法,可不可以定義為抽象類?如果可以,有什麽意義?
    • 可以
    • 這麽做目的只有一個,就是不讓其他類創建本類對象,交給子類完成
  • B:面試題2
    • abstract不能和哪些關鍵字共存
      abstract和static
      被abstract修飾的方法沒有方法體
      被static修飾的可以用類名.調用,但是類名.調用抽象方法是沒有意義的
      abstract和final
      被abstract修飾的方法強制子類重寫
      被final修飾的不讓子類重寫,所以他倆是矛盾
      abstract和private
      被abstract修飾的是為了讓子類看到並強制重寫
      被private修飾不讓子類訪問,所以他倆是矛盾的
      */

abstract class Demo {
//public static abstract void print(); //錯誤: 非法的修飾符組合: abstract和static
//public final abstract void print(); //錯誤: 非法的修飾符組合: abstract和final
private abstract void print(); //錯誤: 非法的修飾符組合: abstract和private
}

abstract不能和哪些關鍵字共存 學習