抽象是将共性抽离出来,产生抽象性概念非具体。
抽象类和抽象方法作用: 使类的抽象性明确起来,告诉用户和编译器打算怎么使用他们。抽象类还是很有用的重构工具,因为它们使得我们可以很容易地将公共方法沿着继承层次结构向上移动。
抽象类不可实例化,抽象类包含普通方法和抽象方法。抽象方法只需声明无需方法体。
子类继承抽象类,父类的抽象方法必须被子类重写,普通方法可不需要重写。
父类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