天天看點

java抽象類和抽象方法之間的關系

抽象類和抽象方法之間的關系

有抽象方法的類,一定是抽象類;抽象類不一定有抽象方法

當子類繼承抽象類時,必須要将抽象類中的抽象方法全部實作(或者稱為重寫),否則子類依然是抽象類

因為子類是繼承父類全部内容,是以也就相當于子類中也有了抽象方法,通過重寫,可以将抽象方法覆寫。

抽象類的特點:必須有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 }