khoahoc.vietjack.com

Câu hỏi:

11/06/2026 5 Lưu

Đoạn mã sau có lỗi biên dịch nào?

class Student {

}

public class Man extends Student{

public static void main(String[] args) {

Man m = new Student();

}

}

Chọn một Câu trả lời

A.

Không có lỗi biên dịch.

B.

Có lỗi biên dịch: Incompatible type, required Man, found Student.

C.

Có lỗi biên dịch:Incompatible type, required Student, found Man.

D.

Do not use extends to make subclass..

Quảng cáo

Trả lời:

verified Giải bởi Vietjack

Chọn đáp án B

Vì:

m thuộc kiểu Man, nên có thể chứa pointer tới đối tượng của lớp Man. Không chứa được pointer tới đối tượng của lớp Student.

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Câu 1

A.

int a1[][] = new int[][3];

B.

int a2[][] = new int[2][3];

C.

int a3[][] = new int[2][];

D.

int a4[][] = {{}, {}, {}};

Lời giải

Chọn đáp án A

Vì:

+ Bắt buộc phải xác định số dòng trong khai báo mảng hai chiều.

Lời giải

Chọn đáp án B

Vì:

+ Lệnh đầu tiên trong hàm main() sẽ sinh ra đối tượng s từ lớp Man.

+ Lệnh thứ 2 của hàm main sẽ gọi phương thức getAge() của đối tượng s, tuy nhiên s kế thừa từ lớp Student do đó sẽ triệu gọi phương thức getAge của lớp Student => in ra 10

+ Lệnh thứ 3 của hàm main() sẽ gọi phương thức getAge() của đối tượng s => gọi đến phương thức getAge() của lớp Student => in ra 10

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP

Câu 4

A.

Có lỗi biên dịch:sayHello() in Man cannot override sayHello() in Student return type int is not compatible with java.lang.String

B.

Không có lỗi biên dịch.

C.

Có lỗi biên dịch:sayHello() in Man cannot override sayHello() in Student because it is final

D.

Có lỗi biên dịch:sayHello() in Man and in Student has the same access modifier

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP