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

สามารถประกาศ main() method เป็น final ใน Java ได้หรือไม่?

ใช่ เราสามารถประกาศ main() method เป็น final ใน Java ได้ คอมไพเลอร์ไม่โยน error ใดๆ

  • ถ้าเราประกาศเมธอดใดๆ เป็น final โดยวาง final keyword เมธอดนั้นจะกลายเป็น final method
  • การใช้งานหลักของ final method ใน Java คือ พวกมันไม่ถูก override
  • เรา ไม่สามารถ override final methods ใน subclasses ได้
  • ถ้าเราใช้ inheritance และต้องการเมธอดบางตัวไม่ถูก override ใน subclasses เราต้องทำให้เป็น final เพื่อป้องกัน subclasses override ได้
  • เราสามารถเข้าถึง final methods ใน subclass ได้ แต่ไม่สามารถ override final methods ได้

ตัวอย่าง

class BaseClass {
    public final void show(Object o) {
        System.out.println("BaseClass method");
    }
}
class DerivedClass extends BaseClass {
    public void show(Integer i) {
        System.out.println("DerivedClass method");
    }
}
public class Test {
    public static final void main(String[] args) { // declaring main() method with final keyword.
        BaseClass b = new BaseClass();
        DerivedClass d = new DerivedClass();
        b.show(new Integer(0));
        d.show(new Integer(0));
    }
}

ผลลัพธ์

BaseClass method
DerivedClass method