抽象与多态

抽象

  如果一个类中,只有方法定义,没有方法的具体实现,那么该方法就称为抽象方法。而拥有抽象方法的类叫做抽象类,使用关键字static定义,抽象类并不能直接实例化,如果想要实例化抽象类,那么需要抽象类变量指向其子类对象。

  在抽象类中可以定义抽象方法,也可以定义具体方法,如果一个类继承抽象类,那么必须重写抽象类中定义的所有抽象方法。

  抽象方法定义的意义在于,使用父类变量指向子类对象时,可以对抽象方法进行调用。

1 publlic abstract class Student{
2   private String name;
3   private int score;
4   public abstract String rank(); 
5 
6 }

多态

①使用父类类型的引用指向子类的对象;

②该引用只能调用父类中定义的方法,不能调用子类中独有的方法;

③如果子类中重写了父类中的一个方法,那么在调用该方法的时候,将会调用子类中的这个方法;

④在多态中,子类可以调用父类中的所有方法;

⑤多态主要体现为方法重载和方法重写,相同的行为,不同的实现方式;

⑥多态的主要应用是多态参数和多态集合

⑦如果一个方法中有父类作为参数类型,就意味着可以给该方法传递任何一个子类对象。

原文地址:https://www.cnblogs.com/orezero/p/5937065.html