java中的static{}块的实例详解
更新时间:2017年08月21日 11:18:24 投稿:lqh
这篇文章主要介绍了java中的static{}块的实例详解的相关资料,这里提供实例来帮助大家理解该如何使用static块,需要的朋友可以参考下
java中的static{}块的实例详解
一直以来对static块不是很熟系,今天特意写了两个程序来搞清楚一下:
第一个小程序:
package com.babyDuncan.Sohu; public class testStatic { static { int x = 5; } static int x, y; public static void main(String[] args) { x--; myMethod(); System.out.println(x + y + ++x); } public static void myMethod() { y = x++ + ++x; } }
该程序输出为:3
分析如下:
执行main中的x--之后,x值为-1,执行myMethod之后,x为1,y值为0,执行输出语句表达式,该表达式的值为1+0+2=3,所以输出结果是3.
下一个程序会让你更明白其中的道理:
package com.babyDuncan.Sohu; public class testStatic2 { /** * 关于Static{}块的解释: * 只是在执行main之前执行的一些语句而已,并不是说里面的变量就是 * static的,没什么特别的。 * 临时变量只在static这个大括号中有用。 **/ static { int x = 8; System.out.println("我是static,我有一个变量x="+x); } static int x; public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(x); } }
输出结果为:
我是static,我有一个变量x=8 0
以上就是java static块的使用方法,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关文章
Java SpringBoot整合shiro-spring-boot-starterqi项目报错解决
这篇文章主要介绍了Java SpringBoot整合shiro-spring-boot-starterqi项目报错解决,文章围绕主题展开详细的内容介绍,具有一定的参考一下2022-08-08Java多线程之ReentrantReadWriteLock源码解析
这篇文章主要介绍了Java多线程之ReentrantReadWriteLock源码解析,文中有非常详细的代码示例,对正在学习java基础的小伙伴们有非常好的帮助,需要的朋友可以参考下2021-05-05
最新评论