社区
Java
帖子详情
达人帮看看x=0,why?
franky82
2006-12-24 10:59:10
public class MyClass {
private static int x = getValue();
private static int y = 5;
private static int getValue() {
return y;
}
public static void main(String args[]) {
System.out.println(x); // //x=0,why?
}
}
// //x=0,why?
...全文
359
9
打赏
收藏
达人帮看看x=0,why?
public class MyClass { private static int x = getValue(); private static int y = 5; private static int getValue() { return y; } public static void main(String args[]) { System.out.println(x); // //x=0,why? } } // //x=0,why?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shine333
2007-01-05
打赏
举报
回复
private static int x;
private static int y;
static {
x = getValue();
y = 5;
}
Nuage
2007-01-05
打赏
举报
回复
呵呵!UP
franky82
2006-12-30
打赏
举报
回复
严重的谢谢各位
myzee
2006-12-29
打赏
举报
回复
把先定义y的值在定义x就可以了
zuoky
2006-12-29
打赏
举报
回复
楼上的,受教了,感谢!
welshem
2006-12-25
打赏
举报
回复
你的代码等价于:
public class MyClass {
private static int x;
private static int y;
static {
x=0;
y=0;
x=getValue();
y=5;
}
private static int getValue() {
return y;
}
public static void main(String args[]) {
System.out.println(x);
}
}
RainRainbow
2006-12-25
打赏
举报
回复
ls的说的对头,在getValue()中加个System.out.println(y);就可以知道执行顺序了
务必搞定
2006-12-25
打赏
举报
回复
类的静态成员的赋值是按排列顺序的,在还没有对静态成员赋值前先赋予它默认值(int类型默认为0)
在运行到private static int x = getValue(); 时,调用getValue()方法,但此时y还没有正式被赋予5,y此时的值时0,于是x得到的值时0
syhan
2006-12-24
打赏
举报
回复
很简单,类初始化的时候将静态变量初始化为0,也就是说根本没有执行getValue()
C/C++笔试题
1.进程和线程的差别。 线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的区别: (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 (2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行 (3)拥有资源:进程是拥有资源的独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源. (4)系统开销:在创建或撤消进程时,由于系
童年回忆——捕鱼
达人
(内含源码inscode一键运行)
通过使用HTML、CSS和JavaScript来编写捕鱼
达人
小游戏,可以让玩家在浏览器中进行捕鱼游戏,提供了一个简单、便捷且有趣的游戏体验。
c++笔试题
微软亚 微软亚洲技术中心的面试题!!! 1.进程和线程的差别。 线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的区别: (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 (2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行 (3)拥有资源:进程是拥有资源的独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.
Cocos2dx_3.x新的渲染流程
第一,渲染流程从2.x到3.x的变化。 在2.x中,渲染过程是通过递归渲染树(Rendering tree)这种图关系来渲染关系图。递归调用visit()函数,并且在visit()函数中调用该节点的draw函数渲染各个节点,此时draw函数的作用是直接调用OpenGL代码进行图形的渲染。由于visit()和draw函数都是虚函数,所以要注意执行时的多态。那么我们来
看看
2.x版本中CCSp
Cocos2d-x3.2与OpenGL渲染总结(一)Cocos2d-x3.2的渲染流程
第一,渲染流程从2.x到3.x的变化。 在2.x中,渲染过程是通过递归渲染树(Rendering tree)这种图关系来渲染关系图。递归调用visit()函数,并且在visit()函数中调用该节点的draw函数渲染各个节点,此时draw函数的作用是直接调用OpenGL代码进行图形的渲染。由于visit()和draw函数都是虚函数,所以要注意执行时的多态。那么我们来
看看
2.x版本中CCS...
Java
51,410
社区成员
85,980
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章