java中static有以下四种用法:
1.修饰成员变量:此变量在.class文件被连接时,就在方法区分配了空间,由所有此类对象共享,也成为类变量
2.修饰方法:这种方法可以直接用类调用,从而不必实例化一个对象
3.修饰代码块:此代码块用于显示初始化,在类第一次出现时就执行且只执行一次,在类的对象产生前就已执行,甚至只是声明该类的一个对象就执行,总之,只要类出现,就执行
4.修饰内部类:比较少见,以后再谈,想了解请看http://blog.sina.com.cn/s/blog_605f5b4f0100zbps.html
1.修饰成员变量:此变量在.class文件被连接时,就在方法区分配了空间,由所有此类对象共享,也成为类变量
2.修饰方法:这种方法可以直接用类调用,从而不必实例化一个对象
3.修饰代码块:此代码块用于显示初始化,在类第一次出现时就执行且只执行一次,在类的对象产生前就已执行,甚至只是声明该类的一个对象就执行,总之,只要类出现,就执行
4.修饰内部类:比较少见,以后再谈,想了解请看http://blog.sina.com.cn/s/blog_605f5b4f0100zbps.html
注意:
1.涉及到继承的时候,会先初始化父类的static变量,然后是子类的
测试代码:
1.测试静态代码块
public class Test{
static{
System.out.println("Test");
}
public static void main(String[] args){
System.out.println("main");
}
}
输出结果:
Test
main
2.测试继承
class Value{
static{
System.out.println("Value");
}
}
public class Test extends Value{
static{
System.out.println("Test");
}
public static void main(String[] args){
System.out.println("main");
}
}
输出结果:
Value
Test
main