Có một thể hiện của siêu lớp được tạo khi chúng ta khởi tạo một lớp cụ thể trong java. Nếu đó là trường hợp thì sẽ có rất nhiều chi phí của việc khởi tạo tất cả các lớp siêu. Tôi cố gắng mã sau:Có một thể hiện của siêu lớp được tạo khi chúng ta khởi tạo một đối tượng không?
public class AClass {
public AClass() {
System.out.println("Constructor A");
}
}
public class BClass extends AClass{
public BClass(){
System.out.println("Constructor B");
}
}
public class Test {
public static void main(String[] args) {
BClass b = new BClass();
}
}
Đầu ra của mã này là:
Constructor A
Constructor B
Vì vậy, không có nghĩa là hệ thống phân cấp toàn bộ các đối tượng của superclasses được tạo ra khi chúng ta khởi tạo một lớp học?
Tôi luôn nghĩ (không chính xác) rằng một lớp con riêng biệt và một đối tượng siêu lớp riêng biệt được tạo ra khi tạo một đối tượng của một lớp con. – abc
Và đây là cách nó hoạt động trong Python cũng như cho vấn đề đó C++ (Tôi tin rằng, tôi đã không thử nó mặc dù). Đúng ? – abc