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