黑马程序员技术交流社区
标题:
一个关于构造代码块的小问题
[打印本页]
作者:
冯佩
时间:
2013-1-20 22:06
标题:
一个关于构造代码块的小问题
本帖最后由 张向辉 于 2013-1-22 11:17 编辑
请教,在构造代码块中能该问静态变量吗?
作者:
txl
时间:
2013-1-20 22:14
不知道你表达的是什么意思,能表达的清楚些么
作者:
黑马刘杰
时间:
2013-1-20 22:25
可以。静态方法中只能访问静态变量,而静态变量可以被构造方法,静态方法,方法访问。
作者:
贾文泽
时间:
2013-1-20 23:13
可以的,静态变量在函数加载的时候就存在于内存中,优先于对象存在,
构造代码块是在建立对象时,构造函数执行前 执行,对所有对象统一初始化
在构造代码块中可以访问到静态变量
作者:
罗广伟
时间:
2013-1-20 23:34
本帖最后由 罗广伟 于 2013-1-20 23:42 编辑
//构造代码块可以访问静态变量,因为静态变量在类加载的时候就加载了,而构造代码块是在对象建立的时候才运行,静态变量存在早于构造代码块。
class Demo
{
static int a;//定义静态变量
{
a=1;//在构造代码块中,将a值设为1,此时访问了静态变量
}
void run()
{
System.out.println(a);
}
public static void main(String[] args)
{
Demo d= new Demo();//此时对象建立构造代码块会运行
d.run();
}
}
//运行结果为:1
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2