Có bao nhiêu giao diện một tệp lớp có thể triển khai? Có giới hạn về số lượng giao diện được sử dụng bởi tệp lớp không? Cảm ơn trước.Số lượng giao diện mà một tệp lớp có thể thực hiện
Trả lời
Đối với tất cả các mục đích thực tế, không có giới hạn về số lượng giao diện mà lớp có thể triển khai, nhưng java không cho phép bạn kế thừa từ nhiều lớp bậc trên. Tuy nhiên, nếu bạn thực sự muốn nitpick, bạn có thể nói rằng số lượng giao diện mà một lớp có thể triển khai bị ràng buộc bởi giá trị tối đa mà id giao diện có thể là bytecode java hoặc số lượng bộ nhớ mã bạn phải triển khai các giao diện này hoặc dung lượng ổ đĩa cứng để lưu trữ bytecode của bạn. Đây là những lý lẽ ngớ ngẩn. Rõ ràng, vì máy tính của bạn không có bộ nhớ vô hạn, thông lượng vô hạn và không gian mã vô hạn, chúng ta biết rằng có tối đa lý thuyết trên mọi thứ, giống như cách có một số lượng tối đa lý thuyết các dòng mã bạn có thể có trong một cái bình.
Nhưng nếu bạn thực sự thực sự muốn biết số lượng tối đa lý thuyết của giao diện một lớp có thể thực hiện, đó là 65535.
Giới hạn là hơn thực tế hơn về kỹ thuật.
Giới hạn thực tế nằm trong hàng chục mã viết tay. Đối với mã được tạo ra, bạn có thể có nhiều hơn nữa, nhưng tôi nghi ngờ bạn có một cái gì đó sai với thiết kế của bạn nếu bạn có nhiều.
The limit in the file format is 65535.
Với các dự án lớn nhất còn lại ít hơn 10K lớp, vì vậy rất khó để tưởng tượng tại sao bạn sẽ muốn thực hiện nhiều giao diện trong một lớp.
Từ Java VM Đặc điểm kỹ thuật trên Limitations of the JVM:
Số superinterfaces trực tiếp của một lớp hoặc giao diện được giới hạn trong 65535 bởi kích thước của mặt hàng đó interfaces_count của cấu trúc ClassFile.
Đó là giới hạn duy nhất. Và đó là do cấu trúc của bytecode Java được biên dịch.
Không có giới hạn về số lượng giao diện mà lớp có thể triển khai.
lớp học của bạn có thể triển khai không giới hạn số Interfaces
và một Interface
có thể mở rộng không giới hạn số Interfaces
nhưng thực hành tốt nhất là không triển khai quá nhiều giao diện.
- 1. Không thể biên dịch một lớp mà thực hiện một giao diện không có loại tham số
- 2. Nhận đối số kiểu của các giao diện chung mà một lớp thực hiện
- 3. Phương thức giao diện Java Phương pháp: Mỗi lớp có thực hiện một giao diện không?
- 4. Tại sao một lớp trừu tượng thực hiện một giao diện có thể bỏ lỡ việc khai báo/thực hiện một trong các phương thức của giao diện?
- 5. Xác định xem một lớp có thực hiện một giao diện rất cụ thể hay không
- 6. Mẫu Singleton Force trên một Lớp thực hiện Giao diện
- 7. Có thể buộc thực hiện rõ ràng giao diện (hoặc một phần của giao diện) không?
- 8. lại thực hiện một giao diện mà giao diện khác đã được thừa hưởng
- 9. Thực hiện hai giao diện trong một lớp vô danh
- 10. Thực hiện một giao diện chung mà không cần tham số kiểu
- 11. Lớp con của lớp thực hiện giao diện chung
- 12. Trả về các loại giao diện mà một lớp thực hiện C#
- 13. Có bất kỳ lợi ích trong việc thực hiện một giao diện trong một lớp con mặc dù cha thực hiện cùng một giao diện
- 14. nếu sử dụng giao diện nên một lớp luôn thực hiện đúng giao diện
- 15. Thực hiện giao diện IList
- 16. C# Giao diện: Có thể tham khảo loại thực hiện giao diện trong chính giao diện không?
- 17. Java - Thực hiện giao diện
- 18. không thể cast để giao diện thực hiện
- 19. Tôi có thể sử dụng lớp scala thực hiện giao diện java từ Java không?
- 20. lớp trừu tượng không thực hiện giao diện
- 21. chúng ta có thể có một() chính trong một giao diện và triển khai khác nhau cho chính() trong các lớp học thực hiện giao diện này?
- 22. Thực hiện ngay tất cả các lớp đang triển khai một giao diện cụ thể
- 23. Java lớp trừu tượng thực hiện giao diện
- 24. Bắt tất cả các lớp thực hiện một giao diện cụ thể trong WinRT
- 25. Liệt kê tất cả các lớp Delphi thực hiện một giao diện cụ thể?
- 26. Trong sơ đồ lớp, nên các lớp thực hiện một giao diện có tên phương thức lặp lại không?
- 27. Bạn có thể giả lập một đối tượng thực hiện một giao diện VÀ một lớp trừu tượng không?
- 28. Tôi muốn lấy tên giao diện từ lớp thực hiện
- 29. Thực hiện các giao diện trong C++
- 30. AS3 - Tôi có thể biết nếu một lớp thực hiện một giao diện (hoặc là một lớp con của một lớp khác)?
Tôi đã có các lớp học được phân loại nhiều hơn một lớp. Và nó thật đẹp. – mre
Vâng, python là một ngôn ngữ đẹp. –
@mre Tôi không nghĩ rằng bạn hiểu rằng đó là những gì cô ấy nói hoạt động ಠ_ಠ –