抽象
如果一个类中,只有方法定义,没有方法的具体实现,那么该方法就称为抽象方法。而拥有抽象方法的类叫做抽象类,使用关键字static定义,抽象类并不能直接实例化,如果想要实例化抽象类,那么需要抽象类变量指向其子类对象。
在抽象类中可以定义抽象方法,也可以定义具体方法,如果一个类继承抽象类,那么必须重写抽象类中定义的所有抽象方法。
抽象方法定义的意义在于,使用父类变量指向子类对象时,可以对抽象方法进行调用。
1 publlic abstract class Student{ 2 private String name; 3 private int score; 4 public abstract String rank(); 5 6 }
多态
①使用父类类型的引用指向子类的对象;
②该引用只能调用父类中定义的方法,不能调用子类中独有的方法;
③如果子类中重写了父类中的一个方法,那么在调用该方法的时候,将会调用子类中的这个方法;
④在多态中,子类可以调用父类中的所有方法;
⑤多态主要体现为方法重载和方法重写,相同的行为,不同的实现方式;
⑥多态的主要应用是多态参数和多态集合
⑦如果一个方法中有父类作为参数类型,就意味着可以给该方法传递任何一个子类对象。