抽象類和抽象方法之間的關系
有抽象方法的類,一定是抽象類;抽象類不一定有抽象方法
當子類繼承抽象類時,必須要将抽象類中的抽象方法全部實作(或者稱為重寫),否則子類依然是抽象類
因為子類是繼承父類全部内容,是以也就相當于子類中也有了抽象方法,通過重寫,可以将抽象方法覆寫。
抽象類的特點:必須有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 }