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

Các lớp bên trong và kế thừa của Java

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 04:26:16 25 4
mua khóa gpt4 Nike

Tôi đang đọc Suy nghĩ bằng Java và tôi gặp phải một vấn đề nhỏ. Tôi đang làm bài tập 12 của chương 8.

Tạo một giao diện với ít nhất một phương thức, trong gói riêng của nó. Tạo một lớp trong một >gói riêng biệt. Thêm một lớp bên trong được bảo vệ để triển khai giao diện trong >gói thứ ba, kế thừa từ lớp của bạn và trả về bên trong một phương thức. một đối tượng của lớp bên trong được bảo vệ >, cập nhật lên giao diện trong quá trình quay trở lại.

Vì vậy, tôi đã tạo các tệp .java này:

A.java

    gói c08;
giao diện công cộng A
{
vô hiệu một();
}

Pr2.java

    gói c082;
nhập c08.*;
lớp công cộng Pr2
{
lớp được bảo vệ InPr2 thực hiện A
{
public void one() {System.out.println("Pr2.InPr2.one");}
protectedInPr2() {}
}
}

Ví dụ:java

    gói c083;
nhập c082.*;
nhập c08.*;
lớp Cl mở rộng Pr2
{
Một foo()
{
Thanh InPr2=InPr2 mới();
thanh quay lại;
}
}

Gạch chân IDE NetBeans của tôi

    InPr2();

Và nó nói: InPr2() có quyền truy cập được bảo vệ trong C082.Pr2.InPr2, tôi muốn biết lý do. Nếu tôi không tuyên bố rõ ràng rằng hàm tạo trong InPr2 cần được bảo vệ thì nó chỉ có thể truy cập được trong gói C082, nhưng khi tôi kế thừa lớp Pr2, nó sẽ không có sẵn trong lớp Cl vì InPr2 được bảo vệ? Khi tôi thay đổi hàm tạo thành công khai, mọi thứ đều ổn.

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

iPr2 Hàm tạo được bảo vệ, có nghĩa là chỉ những hàm được kế thừa từ iPr2 lớp học(KHÔNG Pr2) có thể được gọi. từ Pr2 Các lớp kế thừa có thểNhìn thấy Pr2 các lớp, nhưng chúng không thể gọi các thành viên được bảo vệ của mình, chẳng hạn như các hàm tạo được bảo vệ.

Về các lớp bên trong và tính kế thừa của Java, 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/7115223/

25 4 0
Taklimakan
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
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