static块的执行机制
2015-07-10 09:21
417 查看
今天在学JDBC的时候遇到类似于“static{}”,表示很不解,在网上查了很多资料,遂将其记下。
“static{}”就是代码块的意思。它可以保证无论所属类被加载多少次,static块中的语句只被执行一次。话不多说,代码验证:
package com.jdbc;
public class staticdemo {
public static void main(String args[]){
try {
Class.forName("com.jdbc.stac");
Class.forName("com.jdbc.stac");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class stac{
public static int ss=1;
stac(){
system.out.println("static块被执行")
}
public static void show(){
System.out.println("静态方法");
}
}
从主类中我们可以知道stac类被加载了两次,但是只输出一次“static{}“中的语句。。。。
“static{}”就是代码块的意思。它可以保证无论所属类被加载多少次,static块中的语句只被执行一次。话不多说,代码验证:
package com.jdbc;
public class staticdemo {
public static void main(String args[]){
try {
Class.forName("com.jdbc.stac");
Class.forName("com.jdbc.stac");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class stac{
public static int ss=1;
stac(){
system.out.println("static块被执行")
}
public static void show(){
System.out.println("静态方法");
}
}
从主类中我们可以知道stac类被加载了两次,但是只输出一次“static{}“中的语句。。。。
相关文章推荐
- 华硕笔记本预装win8改装win7过程详述
- 使用NSDate与总结
- Secure Delivery Center快速入门指南(三):添加软件包
- POJ 2312 Battle City(bfs)
- Andropid自定义组件-坐标详解
- 面向过程和面向对象的区别
- 使用NSDate与总结
- [转载] 高并发系统中的常见问题
- C++ 之cin与cout常见问题详解
- 百度地图开发------基础地图篇------缩放空间和比例尺控件移动位置无效问题
- win10预览版右下角小广告怎么关闭?
- Mac 下安装Ruby环境
- sift算法c语言实现
- Unix或Linux中&、jobs、fg、bg等命令的使用方法
- Angular vs. React - the tie breaker
- Matlab Newton‘s method
- Mac 下安装Ruby环境
- 跑吧盒子君
- CocoaPods安装和使用教程
- C#与Java的比较