static: java语言的关键字,它声明的元素是在加载该类的时候会预先开闭一个静态空间来存放这些元素,并初始化它们,之后才创建该类的实例.静态方法可以调用静态的变量或方法,不能调用非静态的变量或方法,也就是不能使用this.
可以声明的元素:
1.声明一个成员变量为static,加载时只是初始化了该变量,并赋值.
2.声明一个成员方法为static,加载时只是初始化了该方法的引用.
3.声明一个代码块为static,相当于一个静态方法,所不同的是加载时初始化(执行)了该代码块中的变量和语句.代码块中只能有变量和语句,不能是方法 .
例子:
.......................................................................
public class Test {
public static int h=9;
public static void hello(){
System.out.println("I am a static method");
}
public void go(){
System.out.println("I am a instance method");
}
static{
System.out.println(" Hello I am static block");
int hello;
}
public static void main(String[]args){
System.out.println("I am a main method..");
Test t=new Test();
t.go();
}
}
.......................................................................
public class TT {
public static void main(String[]args){
System.out.println("I am in TT main()..");
Test t=new Test();
t.go();
String [] g=new String[3];
Test.main(g);
}
}
输出结果:
I am in TT main()..
Hello I am static block
I am a instance method
I am a main method..
I am a instance method