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

java - 为什么 `Outer.Inner inner = o.new Inner();` 不是 `Outer.Inner inner = o.new Outer.Inner();` ?

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

lớp bên ngoài {    
lớp bên trong {

}
}

lớp công khai Demo {
public static void main(String args[]) {

Bên ngoài o = mới Bên ngoài();
Outer.Inner bên trong = o.new Inner();

}
}

tại sao vậy

Outer.Inner bên trong = o.new Inner();

KHÔNG

Outer.Inner bên trong = o.new Outer.Inner();

Đó là lý do tại sao phải sử dụng tên lớp bên ngoài để đủ điều kiện bên trong khai báo kiểu mà không đủ điều kiện cho hàm tạo của lớp bên trong với tên lớp bên ngoài?

Cảm ơn.

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

因为 o Đã là một loại bên ngoài ví dụ như vậy bạn không cần phải tạo một cái khác bên ngoài ví dụ để tạo nội bộVí dụ. Tùy chọn thứ hai bạn liệt kê có nghĩa là bạn đang tạo một tùy chọn khác có tên bên ngoài Các thể hiện của các lớp bên trong, ở cấp cao nhất bên ngoài , nó không tồn tại và xảy ra lỗi (Chỉnh sửa: Chỉ cần nhận thấy. o.new Bên ngoài Không có dấu ngoặc nào sau đó, điều này khiến tôi nghĩ bạn có thể đã hiểu lý do của tôi trong đoạn thứ hai).

nếu ý bạn là Bên ngoài.Inner() phải là người xây dựng và không chỉ Bên trong(), đó là vì Bên ngoài.Inner() thể hiện Nội tâm Nó là một lớp bên trong tĩnh. static không bao giờ được chỉ định, vì vậy bạn cần một bên ngoài Ví dụ.

Giới thiệu về java - Tại sao `Outer.Inner Inner = o.new Inner();` không phải `Outer.Inner Inner = o.new Outer.Inner();` ? , 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/56263745/

26 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