`
QmoreCzs
  • 浏览: 8951 次
社区版块
存档分类
最新评论

学习笔记1——变量未申明也能赋值吗?

    博客分类:
  • java
阅读更多
之前看了大神们发的java优化151的文章,其中有一段不是很明白
后来在看了大家讨论的时候自己慢慢消化了
代码
public class Test {   
static {   
        i = 100;    
    System.out.println("================================"+i);   
    }   
    public static int i=10;   
    public static void main(String[] args) {   
        System.out.println("此时 i 的输出为" + i);   
    }   
} 

输出的结果为i为10,为什么静态代码块没有申明也能赋值呢,因为首先由于i是静态变量,在初始化时候就被加载进来了,所以可以赋值。当程序执行时候首先执行静态代码块,再执行赋值语句等,之后执行主函数,最后输出I为10。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics