Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

ความแตกต่างระหว่าง Static และ Non-static Methods ใน Java

Java method คือกลุ่ม statements ทำงานร่วมกัน Static method เรียกว่า class method ร่วมใช้กันทุก objects เรียกได้ด้วยชื่อคลาส Non-static method เรียกว่า instance method

ลำดับ หัวข้อ Static Non-Static
1 Access เข้าถึง static members เท่านั้น ไม่เข้าถึง non-static ได้ เข้าถึง static และ non-static ได้ทั้งคู่
2 Binding Compile-time binding (early binding) Runtime binding (dynamic binding)
3 Overriding Override ไม่ได้ (compile-time binding) Override ได้ (dynamic binding)
4 Memory Allocation จัดสรรครั้งเดียว ใช้น้อย จัดสรรตอน invoke ปล่อยตอนจบ method
5 Keyword ต้องมี static ไม่ต้องมีคีย์เวิร์ดพิเศษ

ตัวอย่าง

public class JavaTester {
    public static void main(String args[]) {
        Tiger.roar();
        Tiger tiger = new Tiger();
        tiger.eat();
    }
}

class Tiger {
    public void eat() {
        System.out.println("Tiger eats");
    }
    public static void roar() {
        System.out.println("Tiger roars");
    }
}

ผลลัพธ์

Tiger roars
Tiger eats