抽象是將共性抽離出來,產生抽象性概念非具體。
抽象類和抽象方法作用: 使類的抽象性明確起來,告訴用戶和編譯器打算怎么使用他們。抽象類還是很有用的重構工具,因為它們使得我們可以很容易地將公共方法沿着繼承層次結構向上移動。
抽象類不可實例化,抽象類包含普通方法和抽象方法。抽象方法只需聲明無需方法體。
子類繼承抽象類,父類的抽象方法必須被子類重寫,普通方法可不需要重寫。
父類Bird
1 abstract class Bird { 2 public String fly(){ 3 return "I can fly"; 4 } 5 6 public abstract void eat(); 7 8 public abstract void sleep(); 9 }
子類BlueBird
1 public class BlueBird extends Bird { 2 3 @Override 4 public String fly(){ 5 return "I can fly higher"; 6 } 7 8 @Override 9 public void eat() { 10 System.err.println("I can eat food"); 11 } 12 13 @Override 14 public void sleep() { 15 System.err.println("I want to sleep"); 16 } 17 18 }
子類RedBird
1 public class RedBird extends Bird { 2 @Override 3 public void eat() { 4 5 } 6 7 @Override 8 public void sleep() { 9 10 } 11 }
參考文章:https://blog.csdn.net/u012092924/article/details/78342193