java多态
Java 中其实没有虚函数的概念,它的普通函数就相当于 C++ 的虚函数,动态绑定是Java的默认行为。如果 Java 中不希望某个函数具有虚函数特性,可以加上 final 关键字变成非虚函数
重载和重写多态
菜鸟教程关于重载和重写
方法的重写(Overriding)和重载(Overloading)是java多态性的不同表现,重写是父类与子类之间多态性的一种表现,重载可以理解成多态的具体表现形式。
(1)方法重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法的重载(Overloading)。
(2)方法重写是在子类存在方法与父类的方法的名字相同,而且参数的个数与类型一样,返回值也一样的方法,就称为重写(Overriding)。
(3)方法重载是一个类的多态性表现,而方法重写是子类与父类的一种多态性表现。
重写多态 Person stu =new Student()
调用方法:编译看左,运行看右,方法属于谁就运行谁,没有就向上查找
调用变量:编译看左,运行还看左,不能被重写,向上查找 ,想访问子类特有变量,要么向下转换,要么写一个方法
只能调用父类有的变量和方法