黑马程序员技术交流社区

标题: final int m没有什么作用吗? [打印本页]

作者: 1055513951    时间: 2016-1-20 22:15
标题: final int m没有什么作用吗?
class Fu {
        public static final int m = 10;
}
class Zi extends Fue {
        int m = 1;
}
再创建子类对象后,调用m的值是1,final int m = 10不是定义为常量了吗?为什么还会改变,final没有作用吗?
作者: 迷茫不堪的年纪    时间: 2016-1-20 22:59
你是重新定义的, 直接使用就可以,
作者: hi丶bo    时间: 2016-1-20 23:22
+++++++++++++++++
作者: hi丶bo    时间: 2016-1-20 23:23
常量的名字要全部大写,被final修饰的值不能改变
作者: hi丶bo    时间: 2016-1-20 23:24
int m  等一   是因为又是一个变量了  跟Fu类的成员没有冲突
作者: hi丶bo    时间: 2016-1-20 23:26
int m  等1   是因为你在Zi类里面又重新定义了一个变量并赋值为1  跟Fu类的成员没有冲突
作者: Android666    时间: 2016-1-21 17:20
接口只能用interface,不用class。接口中只有常量,你那是在子类定义了一个变量,不是一码事




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2