Java静态方法不能被覆盖

// 静态方法不能被覆盖

 

/*class Super{

    static String name(){

        return "mother";

    }

}

 

class Test02{

    public static void main(String[] args){

        Super s3 = new Super();

        System.out.println(s3.name());

    }

}

*/

 

/*

* resultmother

*/

 

/*

class Super{

    static String name(){

        return "mother";

    }

}

 

class Sub extends Super{

     String name(){

        return "baby";

    }

}

 

class Test02{

    public static void main(String[] args){

        Super s1 = new Sub();

        System.out.println(s1.name());        

    }

}

*/

 

// result: mother

 

/*

class Super{

     String name(){

        return "mother";

    }

}

 

class Sub extends Super{

    static String name(){

        return "baby";

    }

}

 

class Test02{

    public static void main(String[] args){

        Super s1 = new Sub();

        System.out.println(s1.name());        

    }

}

*/

 

// result: mother

 

class Super{

    static String name(){

        return "mother";

    }

}

 

class Sub extends Super{

    static String name(){

        return "baby";

    }

}

 

class Test02{

    public static void main(String[] args){

        Super s = new Super();

        System.out.println(s.name());        

        Super s1 = new Sub();

        /*运行时是指向Sub的类,s1.name()应该输出"baby"的。却输出mother*/

        System.out.println(s1.name());

        /*

         * 结果是:mother

         * "静态方法在编译时根据调用该方法的类或对象所属的类决定

         * 实例方法在运行时根据对象所属的类决定"该如何理解?

         */

    }

}

 

转载于:https://www.cnblogs.com/iucforever/p/4828610.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值