Java的static修飾符
static可以用來修飾類中的成員,包括變量和方法。
(1)static修飾的成員屬於類本身,無static修飾的成員屬於單個實例,因此static修飾的成員不能訪問沒有static修飾的成員(靜態成員不能訪問非靜態成員);**
(2)static修飾的成員(變量、方法)可以直接用類來調用,也可以用類的實例來調用(但是底層機制依然是採用該類來調用的,因此無論創建了多少個對象,其調用靜態成員時的結果都一樣),但是無static修飾的成員必須創建該類的實例,纔可以調用。
class Person{
int age;
int height;
//定義一個非靜態方法
public void info(String name) {
System.out.println(name+"的年齡是:"+age+",身高是:"+height);
}
//定義一個靜態方法
static void show() {
System.out.println("hello word");
}
//定義一個兩參構造器
Person(int age,int height){
this.age=age;
this.height=height;
}
}
public class t {
public static void main(String[] args){
Person.show(); //類調用靜態方法
//Person.info(); 編譯出錯,info()是實例方法,必須創建Person的實例纔可以調用
Person zhang=new Person(24,160);
zhang.info("zhang");
zhang.show(); //實例調用靜態方法
}
}
輸出結果:hello word
zhang的年齡是:24,身高是:160
hello word