抽象類和抽象方法之間的關系
有抽象方法的類,一定是抽象類;抽象類不一定有抽象方法
當子類繼承抽象類時,必須要將抽象類中的抽象方法全部實現(或者稱為重寫),否則子類依然是抽象類
因為子類是繼承父類全部內容,所以也就相當於子類中也有了抽象方法,通過重寫,可以將抽象方法覆蓋。
抽象類的特點:必須有abstract關鍵字修飾,不可以通過new來創建對象,抽象方法不可以寫函數體(非抽象方法必須寫函數體)
關鍵字小總結:不想讓別的類重寫的方法,用final;內容不確定的方法,用abstract(子類中用法不一樣);
希望共享的用static
1 //定義一個抽象類 2 abstract class student{ 3 //抽象方法 4 public abstract void study(); 5 //非抽象方法 6 public void work(){ 7 System.out.println("努力學習"); 8 } 9 } 10 class goodstudent extends student{ 11 //必須要實現抽象方法,否則該類依然是個抽象類 12 public void study(){ 13 System.out.println("好學生不學習"); 14 } 15 } 16 public class Test { 17 public static void main(String[] args) { 18 goodstudent s=new goodstudent(); 19 //調用實現的方法 20 s.study(); 21 //調用從抽象類中繼承的非抽象方法 22 s.work(); 23 } 24 }