0.static修饰符
静态变量是全局共享的,不属于任何一个类,也不再类实例化的时候在堆内存中创建存储空间,而是在JVM加载class文件时创建的内存中data块中
1.静态代码块
只在JVM加载类的时候执行一次,在类实例化时不会再次被执行
static
{
xxxx......
}
2.单态设计模式
class Single
{
static Single objRef = new Single();
private Single()
{
System.out.println("this is a new Single");
}
public static Single getInstance()
{
return objRef;
}
}
由于构造函数为私有,所以外面不能调用new去实例对象
但是类内部可以实例化对象,但是又要求只有一个实例对象
所以可以使用static达到效果,因为使用static修饰的代码只在类加载时执行一次,所以全局只有一个类的实例。