Java与生俱来的多态性
public class Base { public int x; public Base () { x = 1; } public void print() { System.out.println("Base:x = " + x); } }
package one; public class Base1 extends Base{ public int x; public Base1() { x = 2; } public void print() { System.out.println("Base1:x = " + x); } }
public class Test extends Base1 { public int x; public Test() { x = 3; } public static void main(String[] args) { Test test = new Test(); test.print(); Base base = (Base) test; base.print(); } }
Base1:x = 2
Base1:x = 2
Java和C++不一样,Java是天生的多态(继承和重载)。C++普通的继承没有多态的表现形式,只有重载或者虚函数才能表现出多态来。

浙公网安备 33010602011771号