多态
多态存在的三个必要条件:继承,重写,父类引用指向子类对象,
当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则error;如果有,调用子类的同名方法。
example:
package demo;
public class people {
public people(){
}
public void run(){
System.out.println("10");
}
}
package demo;
public class player extends people{
player(){
}
@Override
public void run() {
//super.run();
System.out.println("100");
}
public static void main(String[] args) {
people bob = new player();
bob.run();
}
}
输出结果为100
多态的缺陷
- “重写私有方法”
//: polymorphism/PrivateOverride.java
// Trying to override a private method.
package polymorphism;
import static net.mindview.util.Print.*;
public class PrivateOverride {
private void f() {
print("private f()"); }
public static void main(String[] args