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

Java: Tự kế thừa lớp

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

Tôi biết điều này vô nghĩa: tôi chỉ nghĩ nó thú vị và tôi muốn hiểu thêm về điều gì sẽ xảy ra khi bạn tạo một lớp kế thừa chính nó, cơ chế gây ra sự cố Stack Overflow. Thật ngạc nhiên, Java cho phép bạn xây dựng các cấu trúc như thế này ngay từ đầu.

Tôi chỉ đoán thôi, nhưng có phải JVM đang tự đặt mình vào một vòng lặp vô hạn đang cố gắng phân tích lớp trước khi khởi tạo nó hay nó thực sự đang khởi tạo nhiều bản sao của lớp một cách vô tận?

Tôi nên nói cụ thể hơn; tôi đang sử dụng lớp bên trong bắt nguồn từ lớp kèm theo.

 lớp công khai Bên ngoài {
int riêng tư bên ngoàiValue;

lớp công khai Bên trong mở rộng Bên ngoài {
int riêng tư InsideValue;
công khai bên trong(int val) {
InsideValue = val;
}
}

công khai bên ngoài() {
Bên trong o = mới Bên trong(0);
}
}

lớp công khai Chính {
public static void main(String args[]) {
Bên ngoài o = mới Bên ngoài();
}
}

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

Xin hãy nhớ rằng vì Bên trong mở rộng Ngoài, trong đó có một cặp siêu() củaĐược gọi một cách ngầm định, đó làNgoài hàm tạo của (lần lượt gọi Bên trong hàm tạo), v.v.

mã bạn đã đăngKhông có sự khác biệt về khái niệm so với chương trình sau:

hạng A {
B b = mới B();
}

lớp B mở rộng A {
}

Kiểm tra lớp công khai {
public static void main(String[] args) {
A mới(); // Tạo một A...
// ...tạo ra B
// ... mở rộng A do đó ngầm tạo ra một A
// ...tạo ra B
// ...
}
}

Về Java: Tự kế thừa lớp, 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/5417958/

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