1. 程式人生 > >java中靜態和非靜態方法之間的相互呼叫

java中靜態和非靜態方法之間的相互呼叫

早上看專案程式碼中有一個方法中直接呼叫了類中的方法,由於剛入門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();


    }
}

執行結果:

這是一個非靜態方法

這是一個靜態方法