Java SE 018 多态剖析
前言:此笔记为圣思园张龙老师讲述的java视频课程笔记,自己看视频学习时记录的,用于积累与复习,在此分享给学习软件编程的兄弟姐妹们,以供参考。
一.方法重写(Override)
又叫做覆写,子类与父类的方法返回类型一样,方法名称一样,参数一样,这样我们说子类与父类的方法构成了重写关系。
二.方法重载与方法重写之间的关系
重载发生在同一个类内部的一个或多个方法。重写发生在父类与子类之间。
解说:可以将重载理解为平级关系,而重写理解为上下关系或层次关系,是一种继承关系。
三.父类重写方法的调用
当两个方法形成重写关系时,可以在子类方法中通过super.run()形式调用父类的run()方法。其中super.run()不必放在第一行语句,因为此时父类对象已经构造完毕,先调用父类的run()方法还是调用子类的run()方法是根据程序的逻辑来决定的。
解说:super是代表父类对象的一个引用。
四.Java中定义类的默认父类Object
在定义一个类的时候,如果没有显示指定该类的父类,那么该类就会继承于java.lang.Object类(JDK提供的一个类,Object类是java中所有类的直接或间接父类)
五.多态(Polymorphism)
public class PolyTest{
public static void main(String [] args){
Flower rose = new Rose();//多态
rowse.sing();
}
}
class Flower{
public void sing(){
System.out.println("flower is singing");
}
}
class Rose extends Flower{
}
解说:
(1)多态来源于一句话:子类就是父类。 枚瑰花是花。
父类型的引用可以指向子类的实例或对象,因为它建立在一个条件之上的,子类就是父类。既然子类可以指向父类,那么父类型的引用就可以指向子类型的对象。
(2)父类就是子类,这么说就是错的,所以不能用子类型的引用指向父类的对象。
概念:
我们说子类就是父类(玫瑰是花,男人是人),因此多态的意思就是父类的引用可以指向子类的对象。