java中靜態和非靜態方法之間的相互呼叫
阿新 • • 發佈:2019-02-02
早上看專案程式碼中有一個方法中直接呼叫了類中的方法,由於剛入門java不久,還以為除了可以呼叫靜態方法外不能呼叫非靜態方法,網上查了下沒找到合適的答案,就自己簡單的進行了程式碼實現來驗證。也算是小小的一個坑吧,記錄下來分享給同樣碰到這個問題的同學。
總結到的結論: 1 java類中的靜態方法 只能呼叫類中的靜態方法; 2 java類中的非靜態方法可以呼叫類中的非靜態方法和靜態方法。下面是具體的程式碼說明。
public class Test {
public void say(){
System.out.println("這是一個非靜態方法");
}
public void hello() {
say();
}
public static void staticSay() {
System.out.println("這是一個靜態方法");
}
public static void staticHello() {
staticSay();
}
public static void main(String[] args) {
new Test().hello();
staticHello();
}
}
執行結果:
這是一個非靜態方法
這是一個靜態方法