关于Java的静态初始化块
面试时候经常会碰到的一个问题,给你两个继承关系的java类的代码,这两个类中有构造方法和一些变量,然后还有一些方法,方法里通常有将变量输出的语句。这类问题主要考察我们对父类子类初始化顺序的了解情况。
这里我们主要讨论下静态初始化块这种情况。
静态初始化块是在类被加载的时候就执行的一块程序,并且一直存在直到程序关闭。也就是说当程序被执行,即classloader将该java程序编译后的class文件加载后,就能执行到静态初始化块这段程序;当程序关闭,我的个人理解也就是java.exe进程被结束的时候,静态初始化块结束(例如在静态初始化块里创建一个变量,该变量一直存在到程序关闭)。
下面我们来举例说明:
public class Test {
//静态变量
public static String testStatic = "testStatic";
//静态初始化块
static {
System.out.println(testStatic);
System.out.println("Proc begin");
public static String testProc = "testProc";
System.out.println("Proc end");
}
//主方法
pu
相关文档:
今天用了下java.lang.Process类,只是初步的学习,并没有深入实践,因为感觉它的用途并不是很大,偶尔才可能用上,如果要经常使用它的人可以自行参考JDk文档。
对Process类的简要说明:
Process类是一个抽象类,方法都是抽象的,它封装了一个进程,也就是一个 ......
(2010.02.12) 星星小镇v0.3 定期更新
声明:游戏所有素材来自网络,少部分源码参考Loonframework框架
基本操作:
移动:← → ↓ ↑
对话:空格键
更新日志
2010.02.12 v0.3:
功能添加:标题菜单,场景切换(可以进屋啦)
2010.02.11 v0.2:
功能添加:NPC自由行走会话,背景音乐
2010.02.06 v0 ......
场景:现在有个磁盘输出的业务,客户端需要通过2个业务对象进行输出。
一个是通过Floppy(软盘),另一个是通过USB接口。
这样就需要2个业务类,但是如果不让客户端知道而实现简单的注入呢?
首先,由于有2种设备,软盘和USB,因此我们需要建立一个设备接口IDeviceWriter。
代码如下: ......
这个主题是关于编码的一些原则和模式的,用这些可以帮助程序员创建更加灵活和具有适应性的软件模块。
笔者下面引用的程序是Robert大叔著名的程序片断来重新认识一下重构,那些java代码看起来正确,但事实上不是看起来那么简单的,一小段程序调 ......