关于Java 中 static{}此写法说明
2015-12-17 15:30
197 查看
前言 : 再翻看某大神源码时 突然发现一个写法
static{
……..//省略一大堆代码
}
好奇下便研究研究此写法的意义。与大家分享下。
上代码: 首先看 class A 中的代码:
然后看 ClassB
输出结果
调用了
str :start
str :end
说明 static{} 保持了方法内操作的唯一性。 适合用一些加载jni操作。 保证只操作一次,类似Application.
static{} 内的操作是走在所以当前class 内方法的最前端。 Num.1
按照我的理解呢感觉这个就像是一个静态的构造方法。//注意 构造方法是不可以静态的。
static{
……..//省略一大堆代码
}
好奇下便研究研究此写法的意义。与大家分享下。
上代码: 首先看 class A 中的代码:
static { System.out.println("调用了"); } public void setStr(String str){ System.out.println("str :"+ str); } public static void main(String[] args) { System.out.println("..."); }
然后看 ClassB
MyText t1 = new MyText(); t1.setStr("start"); MyText t2 = new MyText(); t2.setStr("end");
输出结果
调用了
str :start
str :end
说明 static{} 保持了方法内操作的唯一性。 适合用一些加载jni操作。 保证只操作一次,类似Application.
static{} 内的操作是走在所以当前class 内方法的最前端。 Num.1
按照我的理解呢感觉这个就像是一个静态的构造方法。//注意 构造方法是不可以静态的。
相关文章推荐
- JAVA IO 复习
- Java多线程总结(5)— 原子性、可见性、有序性和并发库的原子性操作
- elipse导入项目中文乱码解决
- 在eclipse中统计代码的行数
- Java基础知识精华部分(个人总结)
- java客户端发送消息到服务端
- Caused by: java.lang.ClassNotFoundException:XXXXX in loader dalvik.system.PathClassLoader[/data/
- java 获取时间差
- Java中文分词工具AnsjSeg使用
- springMVC-1
- Java格式化时间
- Java格式化时间
- Java 图片压缩
- JDK源码分析-String
- java客户端发消息到服务端
- Spring框架之TimerTask使用
- mac yosemite 卸载java
- 在spring的aop中获取自定义注解的参数值,即在切面中获取annotation的参数值
- Java生成XML时,换行和缩进
- window7下 破解My eclipse 10