Giả sử tôi có một phương thức trong một lớp Java và tôi không muốn bất kỳ lớp con nào của lớp đó có thể ghi đè phương thức đó. Tôi có thể làm điều đó?Không cho phép các lớp con từ phương pháp ghi đè Java
Trả lời
Bạn có thể khai báo các phương pháp để có final
, như trong:
public final String getId() {
...
}
Mọi chi tiết, thấy http://docs.oracle.com/javase/tutorial/java/IandI/final.html
Đơn giản chỉ cần thực hiện các phương pháp thức.
Nếu phương pháp của bạn không phải là một phần của API được tạo và không được gọi trực tiếp bởi lớp con, bạn chỉ cần thực hiện phương thức private
.
Nếu phân cấp lớp của bạn được chứa trong một gói duy nhất, hãy đặt phương thức của bạn trong phạm vi gói (không có từ khóa phạm vi). Vì vậy, chỉ có thế giới bên ngoài (bao gồm các gói khác của riêng bạn) không thể truy cập nó và do đó không thể ghi đè lên nó.
Nếu phương pháp của bạn là không thực sự là một phần của API của bạn nhưng phải được hiển thị bởi lớp con thậm chí bên ngoài, thích làm cho nó protected
và final
Cuối cùng nếu phương pháp của bạn là một phần của API của bạn, làm cho nó public
và final
.
- 1. Các phương pháp ghi đè trong JavaDoc
- 2. Gọi một phương pháp ghi đè từ lớp cơ sở
- 3. Tìm phương pháp ghi đè
- 4. Phương pháp "ghi đè" các Thành viên được chia sẻ trong các lớp con
- 5. Mục tiêu-C - Phương pháp ghi đè trong phân lớp
- 6. Java: Gọi một phương pháp siêu trong đó kêu gọi một phương pháp ghi đè
- 7. Ghi đè phương pháp được bảo vệ
- 8. Java: Cách ghi đè phương pháp chung này?
- 9. ghi đè phương pháp ảo C++
- 10. Ghi đè các phương thức lớp con với các đối số được phân lớp?
- 11. Phương pháp riêng trong siêu lớp có bị ghi đè trong phân lớp không?
- 12. Ghi đè phương thức bằng so với phương pháp mới
- 13. Calling lớp cơ sở ghi đè chức năng từ phương pháp lớp cơ sở
- 14. Ghi đè các trường hoặc thuộc tính trong lớp con
- 15. Java: Làm cách nào để tìm ra phương thức được ghi đè từ lớp cơ sở?
- 16. Các công cụ sửa đổi truy cập java và các phương thức ghi đè
- 17. Lớp ghi đè của Python (không phải ví dụ) Các phương pháp đặc biệt
- 18. Ghi đè phương thức ghi đè (C#)
- 19. Cách ghi đè một phương thức java từ groovy
- 20. Phương pháp phải được ghi đè nhưng không trừu tượng?
- 21. Phương pháp trừu tượng ghi đè phương pháp trừu tượng
- 22. Tại sao tùy chọn 'ảo' cho các phương thức ghi đè trong các lớp dẫn xuất?
- 23. Gọi một phương pháp ghi đè từ một constructor
- 24. Ghi đè backbone 'set' phương pháp
- 25. ghi đè trọng tảiXem trong lớp con UITableViewController
- 26. Phương pháp ghi đè để thay đổi kiểu trả về
- 27. Java: Sử dụng phương pháp lớp cha để truy cập lớp con biến
- 28. Ghi đè phương pháp riêng với Reflection
- 29. Ghi đè bằng phương pháp trong DTO's
- 30. Có cách nào để ngăn chặn một phương thức bị ghi đè trong các lớp con không?
Điều này thật hiển nhiên, tại sao tôi không nghĩ về điều này? – xorinzor