为了账号安全,请及时绑定邮箱和手机立即绑定

有方法覆盖Java中的类变量吗?

有方法覆盖Java中的类变量吗?

忽然笑 2019-07-03 15:58:26
有方法覆盖Java中的类变量吗?class Dad{     protected static String me = "dad";     public void printMe()     {         System.out.println(me);     }}class Son extends Dad{     protected static String me = "son";}public void doIt(){     new Son().printMe();}函数可以打印“爸爸”。有没有办法让它印上“儿子”?
查看完整描述

3 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

是。但就变量而言,它是覆盖(赋予变量新值)。给函数提供新的定义是覆盖)。Just don't declare the variable but initialize (change) in the constructor or static block.

在父类块中使用时,该值将得到反映。

如果变量是静态的,则在使用静态块初始化时更改值,

class Son extends Dad {
    static { 
       me = 'son'; 
    }}

或者更改构造函数。

您还可以在以后的任何块中更改该值。它将在超类中得到反映。


查看完整回答
反对 回复 2019-07-03
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

是的,只要覆盖printMe()方法:

class Son extends Dad {
        public static final String me = "son";

        @Override
        public void printMe() {
                System.out.println(me);
        }}


查看完整回答
反对 回复 2019-07-03
  • 3 回答
  • 0 关注
  • 365 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号