1. 程式人生 > 其它 >靜態方法和非靜態方法

靜態方法和非靜態方法

什麼是靜態方法 什麼是非靜態方法

靜態方法 加了static修飾符的變數或者方法 一般通過 類名.變數名 來呼叫
非靜態方法 沒有加static的方法 通過物件.變數名來呼叫

示例

package com.oop.demo01;

public class Demo02 {
    public static void main(String[] args) {
        // 靜態方法呼叫
        a();

        // 非靜態方法呼叫
        Demo02 demo = new Demo02();
        demo.b();

    }

    // 靜態方法 跟類一起載入
    public static void a() {
        System.out.println("我是靜態方法 a");
	// b(); // Non-static method 'b()' cannot be referenced from a static context
	// a是一個靜態方法 此時 b方法還不存在 呼叫失敗 
    }

    // 非靜態方法 類例項化後才存在
    public void b() {
        System.out.println("我是非靜態方法 b");
        d();
        c();
    }

    public  static void c(){
        System.out.println("我是靜態    C方法");
    }

    public void d(){
        System.out.println("我是非靜態方法  D方法");
    }
}

輸出結果

小結

靜態方法跟類一起載入 非靜態方法例項化後才載入
所以 靜態方法中不能呼叫非靜態方法
而非靜態方法可以呼叫 靜態方法 及 非靜態方法

即使再小的帆也能遠航