cuốn sách gpt4 ai đã làm

Java giữa riêng tư và được bảo vệ

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 02:59:22 28 4
mua khóa gpt4 Nike

Tôi có một lớp có một phương thức mà tôi muốn chỉ các lớp con của nó mới có thể truy cập được chứ không phải các lớp khác trong gói này.

Lớp sửa đổi | Lớp con |
--------------------
công cộng | ✔ | ✔ ✔ |
--------------------
được bảo vệ | ✔ | ✔ ✔ |
--------------------
không có sửa đổi | ✔ ✔ |
--------------------
riêng tư ✔ |
____________+_________+_________+____________+_______
Công cụ sửa đổi của tôi | ✔ |
____________+_________+_________+____________+_______

Có cách giải quyết nào để sử dụng công cụ sửa đổi này không?

Có lẽ có một cách để làm cho gói cuối cùng để các lập trình viên khác không thể thêm bất kỳ lớp nào vào gói của tôi?

Hoặc có cách nào để lấy phiên bản của hàm gọi và kiểm tra xem phiên bản này có phải của tôi không siêu Một thể hiện của một đối tượng?

Hoặc tôi chỉ cần để nó và chỉ sử dụng protected, các lập trình viên khác có thể thêm các lớp vào gói của tôi...

câu trả lời hay nhất

1) Bạn không thể tạo công cụ sửa đổi truy cập tùy chỉnh trong Java

2) Bạn có thể gói kín gói hàng trong lọ, xemhttp://docs.oracle.com/javase/tutorial/ext/security/sealing.html

3) Bạn có thể tìm lớp gọi, thử xem

public static void main(String[] args) throws Exception {
xxx();
}

khoảng trống tĩnh xxx() {
Lớp [] cc = Trình quản lý bảo mật mới () {
@Ghi đè
Lớp được bảo vệ[] getClassContext() {
trả về super.getClassContext();
}
}.getClassContext();
System.out.println(cc[cc.length - 1].getName());
}

Về Java giữa riêng tư và được bảo vệ, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/15969172/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress