黑马程序员技术交流社区
标题:
常量问题
[打印本页]
作者:
$love
时间:
2013-6-5 15:27
标题:
常量问题
本帖最后由 $love 于 2013-6-5 16:23 编辑
public static final int MAX=52; //这个是全局静态常量
public final int MAX=52; //有人和我说这样定义不能算是一个常量!常量应该是编译的时候就确定
//了!不能够改,而不加static就要在运行的时候才确定!这样不能算是一个常量。 这样是什么个情况!请高手详细解答一下????
作者:
李慧声
时间:
2013-6-5 15:35
都是常量啊,只不过加载的时间和顺序不同而已啊,
加static是在类加载时候就加载了
,而
没有加static的在类创建对象
的时候才加载的,但是你要知道,static是先于对象的加载而加载的,加载类的时候不一定创建了对象,也就是对象还不一定被创建,所以两者也就有了访问的区别了。
作者:
王瀛
时间:
2013-6-5 15:43
都是常量,加static的可以类名直接调用,没有static的是对象调用。
作者:
lxf_cat5277
时间:
2013-6-5 15:44
其实你只要明白static与final都有什么作用就可以解释。
static修饰变量是为了共享数据。对象中的特有数据要定义成非静态存在于堆内存中。
被final修饰的变量是一个常量只能赋值一次,既可以修饰成员变量,也可以修饰局部变量。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2