什么是多态?
相同类型的变量、调用同一个方法时呈现出不同的行为特征,这就是多态。
什么时候会出现多态呢?
Java引用变量有两个类型:一个是编译时类型,一个是运行时类型。编译时类型由声明该变量时使用的类型决定,运行时类型由由实际赋给变量的对象决定。如果编译时类型和运行时类型不一致,就可能出现所谓的多态。
Demo:
class BaseCass{
public int age = 6;
public void base() {
System.out.println("parent method");
}
public void test() {
System.out.println("parent override method");
}
}
}
public class SubClass extends BaseClass {
public String age = "10";
public void sub() {
System.out.println("sub method");
}
public void test() {
System.out.println("sub override method");
}
public static void mian (String[] args) {
BaseCass bc = new BaseCass();
System.out.println(bc.age);
bc.base();
bc.test();
SubClass sc = new SubClass();
System.out.println(sc.age);
sc.sub();
sc.test();
BaseCass bsc = new SubClass();
System.out.println(bsc.age);
bsc.base();
bsc.sub();
bsc.test();
}
}