最近开始学习Java,碰到了static的一些小问题,就来和大家分享一下,static,即静态,在java中,有静态变量,静态方法,特别注意的还有一个静态变量初始化问题,(学习过c++的一定了解),在创建类的时候,static可以让所有类都能够调用,需要注意的是,在java中,静态成员属于整个类,当系统第一次使用该类时,就会为其分配内存空间直到该类被卸载才会进行资源回收!另外就是static方法,在java1.6版本之后,多了由main的块,而不能像之前的版本之前可以输出,1.6之后多了 public static void main(String [] args),注意这里就有一个static哦,因此,当我们设计一个类的时候,如果定义了一个static方法,在java中,static类可以直接调用static方法,但是却不能直接调用不是static的方法。
public class Test {
String name="123";
static String ho="test";
public void go() {
System.out.println("不是静态方法,要建立对象后调用");
}
public static void run() {
System.out.println("静态方法,直接调用");
}
public static void main(String[] args) {
Test q=new Test();
q.go();
run();
}
}
public class Test {
String name="123";
static String ho="test";
public static void main(String[] args) {
Test q=new Test();
System.out.println(q.name);//这里需要用对象去调用
Systemout.println(ho);
}
}
总结:静态方法和变量在可以在静态块中调用,但是普通方法和变量需要建立对象之后调用。