静态变量是有顺序的!
来源:互联网 发布:佐菲奥特曼act淘宝 编辑:程序博客网 时间:2024/04/30 13:11
有人问过我,下面这个打印结果为什么是0
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初始化的时候,这个时候y并没有初始化 。
开始的时候x和y不都是静态变量吗?那不是一开始就要加载进静态代码区的吗?
如果你对JVM很了解,你会知道当JVM执行class类的时候,会先初始化成员变量,执行顺序为从上向下执行,所以会先初始化X,当初始化X的时候,发现调用了getValue()方法,而这个时候y其实是没有初始化的,所以这个时候会返回一个0
所以证明:静态变量也有顺序的!
- 静态变量是有顺序的!
- Java中的静态变量的执行顺序
- Java 静态变量的初始化顺序
- 静态加载顺序,类static变量也有默认值(不同于C++),普通成员变量直接赋值语句和非静态语句块的执行位置
- 静态与非静态块和变量的加载顺序
- 静态变量和静态代码块的执行顺序
- static 静态变量和静态代码块的执行顺序
- java中静态块和静态变量的加载顺序
- java常规变量和静态变量的初始顺序
- 全局静态变量是干什么的
- ofstream的读取是有顺序
- Java中的静态块中的局部变量以及静态变量,以及静态变量声明与静态块的执行顺序
- 05 为什么会有静态变量?静态变量与成员变量的区别?
- Java的静态变量,成员变量,静态代码块,构造块的加载顺序
- Java初始化顺序,静态变量,static块,实例变量,构造器的初始化顺序
- java 静态变量初始化顺序
- java静态变量加载顺序
- Java中静态变量和非静态变量的初始化顺序
- 读取股票日K线数据文件的程序
- 点石互动--枫林之:Robots Meta标签及其用法
- 只能在文本框内输入IP数字格式:_._._._
- 计算机病毒产生的动机(原因):
- URL重写,asp.net URL重写,URLRewriter.dll下载,URLRewriter,URLRewriter下载,URL重写学习(初级篇)
- 静态变量是有顺序的!
- 侦测隐藏进程
- 老生常谈 TDD with RSpec
- WINCE6.0 安装 下载
- c#下cookie使用实例
- web开发的珍藏代码积累
- Calling Web Services Asynchronously
- 一个连接主窗体与Splash窗体的Splash类
- gridview设置DataFormatString