Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Quy tắc method overriding trong Java


Dưới đây là các quy tắc cần xem xét khi override method đúng cách:

  • Danh sách tham số (argument list) phải y hệt overridden method.
  • Kiểu trả về (return type) phải giống hoặc là subtype của return type khai báo trong overridden method gốc ở superclass.
  • Access level không thể restrictive hơn overridden method. Ví dụ: superclass method public thì subclass overriding không được private/protected.
  • Instance method chỉ có thể override nếu được subclass kế thừa.
  • Method khai báo final không thể override.
  • Method khai báo static không thể override nhưng có thể re-declare (hiding).
  • Nếu method không thể kế thừa, thì không thể override.
  • Subclass cùng package với superclass instance có thể override bất kỳ method superclass nào không phải private/final.
  • Subclass khác package chỉ override non-final method public hoặc protected.
  • Overriding method có thể ném bất kỳ unchecked exceptions nào, bất kể overridden method có ném hay không. Tuy nhiên, không được ném checked exceptions mới hoặc broader hơn overridden method. Có thể ném fewer/narrower exceptions.
  • Constructor không thể override.