(1)“public synchronized static java.sql.Connection getConnection(){省略}”我想问一下java.sql.Connection这个是什么意思,我知道这个位置出现的是返回类型,但是没有见过这种表示,能给我解释下吗,谢谢了。
(2)
public class Generator {
private static Random random = null;
static{
random=new Random();
}
public Generator(){
}
public static String getEmailCode(){
long rnd = random.nextLong();
return Long.toHexString(rnd);
}
}
这段代码中有颜色的部分我不是太明白,主要是static加花括号这种表示方法是什么意思,谢谢各位了
(2)
public class Generator {
private static Random random = null;
static{
random=new Random();
}
public Generator(){
}
public static String getEmailCode(){
long rnd = random.nextLong();
return Long.toHexString(rnd);
}
}
这段代码中有颜色的部分我不是太明白,主要是static加花括号这种表示方法是什么意思,谢谢各位了
(2)static加{}叫静态初始化块,在类被初始化的时候被执行
具体类在什么时候被初始化可以看看Java语言规范 12.4 Initialization of Classes and Interfaces
问题2:static{}是静态域,静态域里面的代码在类加载的时候就会执行.例如 用静态域可以写出一个不用main就可以输出的类.
class Test
{
static
{
System.out.println("Hello");
System.exit(0);
}
}
然后你有别的类只要加载了Test类(Test t;)
就会执行这段代码;
另补充:
static语句块 在类加载的时候会比 static修饰变量先执行
第二题:static{}是在静态语句块,在这个类进行加载时就运行。