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++普通的继承没有多态的表现形式,只有重载或者虚函数才能表现出多态来。

 

posted @ 2015-11-21 00:50  牧 天  阅读(118)  评论(0)    收藏  举报