我思故我强

java多态

package test;

class Base {
    int x = 1;
    static int y = 2;
    int z = 3;

    int method() {
        return x;
    }
}

class Subclass extends Base {
    int x = 4;
    int y = 5;
    static int z = 6;

    int method() {
        return x;
    }
}

public class PolymorphismTest1 {
    public static void main(String[] args) {
        
        Base bs = new Subclass();
        System.out.println("bs.x:"+bs.x + " bs.y:" + bs.y + " bs.z:" + bs.z);
        System.out.println("bs.method:"+bs.method());
        System.out.println("================================");
        
        Base bb = new Base();
        System.out.println("bb.x:"+bb.x + " bb.y:" + bb.y + " bb.z:" + bb.z);
        System.out.println("bb.method:"+bb.method());
        System.out.println("================================");
        
        Subclass ss = new Subclass();
        System.out.println("ss.x:"+ss.x + " ss.y:" + ss.y + " ss.z:" + ss.z);
        System.out.println("ss.method:"+ss.method());
        System.out.println("================================");
        
        Subclass sb = (Subclass)new Base();//Exception in thread "main" java.lang.ClassCastException: test.Base
        //System.out.println("sb.x:"+sb.x + " sb.y:" + sb.y + " sb.z:" + sb.z);
        //System.out.println("sb.method:"+sb.method());
        //System.out.println("================================");
    }
}




=======================
结果:
=======================
bs.x:1 bs.y:2 bs.z:3
bs.method:4
================================
bb.x:1 bb.y:2 bb.z:3
bb.method:1
================================
ss.x:4 ss.y:5 ss.z:6
ss.method:4
================================



posted on 2009-10-12 16:28 李云泽 阅读(112) 评论(0)  编辑  收藏 所属分类: 面试笔试相关的


只有注册用户登录后才能发表评论。


网站导航: