Trong Java, là các thông số truy cập và các công cụ sửa đổi truy cập điều tương tự?Sự khác biệt giữa các thông số truy cập và các công cụ sửa đổi truy cập là gì?
Trả lời
số "truy cập modifier" là thuật ngữ chính thức cho private
, protected
và public
, trong khi thuật ngữ "truy cập specifier" không xảy ra ở tất cả trong Java language specification và là AFAIK không phải cái gì mà được sử dụng rộng rãi.
"công cụ sửa đổi truy cập" là cụm từ chính thức cho private
, protected
và public
được sử dụng trong Java language specification. "access specifier" được sử dụng đồng nghĩa trong Java API doc, nhưng đây là lần đầu tiên tôi nhận thấy điều đó. Nó có thể tốt hơn để gắn bó với thuật ngữ JLS.
+1 để chứng minh bằng JLS. Tôi nghĩ rằng đó chỉ là rào cản ngôn ngữ. – BalusC
Theo tôi, có, cả hai thuật ngữ đều đề cập đến cùng một điều và được sử dụng thay thế cho nhau.
Nó không tùy thuộc vào bạn, nó phụ thuộc vào JLS và thuật ngữ 'access specifier' không xuất hiện ở đó. – EJP
Nói riêng về mặt kỹ thuật, công khai, được bảo vệ và mặc định được coi là thông số truy cập. Những thỏa thuận này với người có thể ... câu hỏi. Các sửa đổi afaik là dễ bay hơi, cuối cùng, tĩnh, thoáng qua vv Những thỏa thuận với làm thế nào để .. khía cạnh.
Vui lòng cung cấp trích dẫn JLS cho xác nhận này. Nó là vô căn cứ. – EJP
Đề cập đến Java Documents Sun họ cả hai dường như là giống nhau:
Access Modifier
- Tìm kiếm
access specifier
on this page.
Tham chiếu JDI đó là nơi duy nhất tôi từng thấy thuật ngữ 'access specifier' được sử dụng trong đặc tả Java. Ngay cả ở đó, công cộng/bảo vệ/tư nhân/gói cũng được gọi là 'modifiers'. Có thực sự không có lý do để bao giờ sử dụng thuật ngữ 'truy cập specifier' trong Java, nó rõ ràng chỉ là một sai lầm trên một trang trong số hàng ngàn.
Java đã cơ bản 2 loại Modifiers: bổ truy cập
- java
- java không truy cập bổ
Java bổ truy cập và specifiers truy cập Java là những điều tương tự, đó là public
, private
, protected
.
Bằng cách sử dụng trình xác định truy cập, chúng tôi xác định ai có thể truy cập lớp/phương thức và biến của chúng tôi (hoặc bất kỳ thứ gì mà chúng tôi sử dụng trình xác định truy cập). specifier truy cập cơ bản java bốn loại -
- công cộng: - Hiển thị đối với thế giới,
- tin: - Hiển thị đối với chỉ lớp,
- bảo vệ: - Hiển thị đối với các gói và tất cả các lớp con, và
- mặc định: - Hiển thị đối với các gói
Nhưng modifier truy cập là thuộc tính của một lớp/phương pháp/biến. modifier Truy cập năm loại
- thức: - cho hoàn thiện việc triển khai các lớp học, phương pháp, và biến
- tĩnh: - để tạo phương pháp lớp học và các biến
- đồng bộ và ổn định bổ: - được sử dụng cho chủ đề
- trừu tượng: - để tạo các lớp học và phương pháp
- thoáng trừu tượng
Trong một số ngôn ngữ cũ công khai, riêng tư, được bảo vệ và mặc định như C++ được coi là truy cập specifiers và mọi thứ khác được coi là access modifier nhưng trong Java không có thuật ngữ cho specifier, mọi thứ mặc định được coi là modifier only. Vì vậy, công khai, riêng tư, được bảo vệ, mặc định, cuối cùng, trừu tượng, tĩnh, strictfp, đồng bộ hóa, nguyên gốc, thoáng qua và dễ bay hơi đều là các công cụ sửa đổi.
thử nghiệm đơn giản cho nó là khi chúng ta biên dịch đoạn mã sau
lớp tin thử nghiệm {}
chúng tôi sẽ nhận được biên dịch lỗi thời gian nói modifier rằng tin không được phép ở đây. Điều này cũng đúng đối với các công cụ sửa đổi khác. Có thể trình biên dịch java (javac) chỉ xem mọi thứ dưới dạng "công cụ sửa đổi".
- 1. Mục đích của phương pháp này để truy cập các công cụ sửa đổi là gì?
- 2. Các công cụ sửa đổi truy cập trên các thành viên giao diện trong C#
- 3. Các công cụ sửa đổi truy cập có ảnh hưởng đến sự phản chiếu không?
- 4. sự khác biệt giữa các bộ sửa đổi truy cập được bảo vệ và gói riêng tư trong Java?
- 5. Các công cụ sửa đổi truy cập java và các phương thức ghi đè
- 6. Công cụ sửa đổi truy cập tự động Refactor
- 7. sự khác biệt giữa mô hình khách truy cập và chiến lược là gì?
- 8. Sự khác biệt giữa các công cụ sửa đổi biểu thức chính quy 'm' và 's'?
- 9. Sự khác biệt giữa việc truy cập một phương thức lớp thông qua -> và thông qua :: là gì?
- 10. Sự khác biệt giữa CẬP NHẬT VÀ CẬP NHẬT
- 11. Thay đổi vùng tên tệp (resx) và công cụ sửa đổi truy cập
- 12. Sự khác biệt giữa Nhân tố Trái và Số lần Truy cập Trái
- 13. truy cập vào các thông số POST
- 14. Các công cụ sửa đổi truy cập có quan trọng đối với phương thức chính không?
- 15. Sự khác biệt giữa một vòng loại và một công cụ sửa đổi trong C là gì?
- 16. Sự khác biệt giữa Thay đổi và Cập nhật SQL
- 17. C# winform: Truy cập các thuộc tính công khai từ các biểu mẫu khác và khác biệt giữa thuộc tính tĩnh và công khai
- 18. Sự khác biệt giữa các thử nghiệm và thông số kỹ thuật là gì?
- 19. Sự khác biệt giữa Thông báo và pynotify là gì?
- 20. Cách thay đổi công cụ sửa đổi truy cập của điều khiển người dùng
- 21. Các công cụ sửa đổi truy cập trên các thuộc tính; tại sao không làm việc sau đây?
- 22. sự khác biệt giữa tình trạng truy cập mạng (ACCESS_NETWORK_STATE) và (ACCESS_WIFI_STATE) cho phép nhà nước WIFI là gì?
- 23. Lịch sử của các công cụ sửa đổi kiểm soát truy cập như công khai/riêng tư/được bảo vệ
- 24. việc sử dụng các phương thức công khai khi lớp có trình sửa đổi truy cập mặc định là gì?
- 25. Sự khác biệt giữa quyền truy cập = "allowAll" và bộ lọc = "none"?
- 26. Sử dụng. hoặc [] để truy cập các thuộc tính của đối tượng - sự khác biệt là gì?
- 27. Sự khác biệt giữa việc gọi phương thức và truy cập thuộc tính
- 28. Sự khác biệt giữa một số "công cụ phát triển Android/SDK" là gì?
- 29. là gì sự khác biệt giữa SQL_Latin1_General_CP1_CI_AS và SQL_Latin1_General_CP1_CI_AI
- 30. Resharper - Làm cách nào để tắt công cụ sửa đổi truy cập 'riêng tư'?
Thú vị, tôi chưa bao giờ thấy câu hỏi cụ thể này trước đây trong năm, nhưng bạn dường như không phải là người duy nhất tự hỏi về điều này: http://www.google.com/search?q=difference+access+specifier+access+modifier;) – BalusC