khoahoc.vietjack.com

Câu hỏi:

11/06/2026 22 Lưu

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

class Person {

protected String name;

public int age;

};

public class Main {

public static void main(String[] args) {

Person p = new Person();

p.name="Tom";

}

}

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

A.

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

B.

name has protected access.

C.

age has protected access.

D.

name has public access.

Quảng cáo

Trả lời:

verified Giải bởi Vietjack

Chọn đáp án B

Vì:

+ name là thành phần protected do đó không thể truy xuất từ bên ngoài lớp (chỉ có thể truy xuất từ bên trong lớp và các lớp con).

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

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

Câu 2

A.

Có lỗi biên dịch:

can not find symbol test.Student

B.

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

C.

Có lỗi biên dịch:

Add import java.school.Student

D.

Có lỗi biên dịch:

can not find constructor Student() for Student.

Lời giải

Chọn đáp án A

Vì:

Lớp Student không ở package java.test mà ở java.school, và bạn lại không import vào gói java.test, nên trình biên dịch tìm lớp Student ở cùng package java.test khi bạn không chỉ rõ lớp Student thuộc package nào. Nên khi khai báo biến s thuộc lớp java.school.Student thì đúng, nhưng khi gọi phương thức khởi tạo thì bạn lại không chỉ rõ, nên trình biên dịch sẽ tìm ở java.test. Nhưng không có.

Add import java.school.Student : là một gợi ý, chứ không phải lỗi biên dịch.

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 5

A.

void printArray(int a[], int size){}

B.

void printArray(int a[size], int size){}

C.

void printArray(int a[], int){}

D.

void printArray(int a[size]){}

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 6

A.

foo có giá trị là 0.

B.

foo có giá trị là null.

C.

foo có giá trị là true.

D.

foo có giá trị là false.

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

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