hgq0916
奔腾的野马
采纳率65.9%
2016-01-11 11:10

Java中静态常量可以被覆写吗?

已采纳

Java中静态常量可以被覆写吗?在一个类中定义一个静态常量,它的子类类中定义一个同名的静态常量,这样可以吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

11条回答

  • wojiushiwo945you 毕小宝 5年前

    子类可以定义与父类同名的静态常量的,但是各是各的,没有关联的。

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 5年前

    你说的复写是什么意思。首先,静态成员根本就没有继承的概念,所以不存在复写(override)

    点赞 3 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 5年前

    因为静态成员通过类名访问,你不能通过派生类得到基类定义的静态成员,反之也是,所以根本不存在什么复写不复写。用什么类名访问的就是什么。

    点赞 1 评论 复制链接分享
  • u011231355 java_liwei 5年前

    静态常量不可以被覆写得,普通常量可以的,但是静态常量是可以被重新赋值的。要区分清楚。

    点赞 评论 复制链接分享
  • hgq0916 奔腾的野马 5年前

    //Test.java
    class A{
    static int i=9;
    static void print(){System.out.println(i);}
    }

    class B extends A{}

    public class Test{
    public static void main(String[] args){
    B.print();//这里B的print()就是A里面的
    System.out.println(B.i);//这里B.i就是A.i
    }
    }

    结果:

    java Test
    9
    9
    Exit code: 0
    这里为什么可以继承?

    点赞 评论 复制链接分享
  • kuqi007 不会吹比的程序猿不是好工程师 5年前

    没有联系的,都是独自分开的

    点赞 评论 复制链接分享
  • yuxxz xszhaobo 5年前

    在Java中,静态变量、静态方法、静态代码块儿都属于类成员,类成员属于类的。静态成员都不能被重写(override),如果子类中定义了和父类一样的类成员变量,那么子类的类成员变量和父类对应的类成员变量没有继承关系,是各自分开的。
    另外,Override(重写)是Java继承和多态的一种表现形式,而继承和多态是只有实例方法才具有的。

    点赞 评论 复制链接分享
  • raylee2007 李灵晖 5年前

    如果是private的,就没有覆盖不覆盖的说法,只是各自不同的变量
    如果是protected或者public,也应该不是覆写,因为都可以在子类那里读取到

    点赞 评论 复制链接分享
  • qq_28919337 StayInLove 5年前

    静态常量是可以被重新赋值的

    点赞 评论 复制链接分享
  • qq_28919337 StayInLove 5年前

    静态常量是可以被重新赋值的

    点赞 评论 复制链接分享
  • qq_23906425 渐渐淡忘的2015 5年前

    静态常量不可以被覆写得,普通常量可以的

    点赞 评论 复制链接分享

相关推荐