Kỹ thuật lập trình hướng đối tượng IT07 EHOU

Môn học Kỹ thuật lập trình hướng đối tượng IT07 tại EHOU sẽ đưa bạn đến một cấp độ cao hơn trong tư duy và kỹ thuật lập trình. Nếu như Kỹ thuật lập trình cơ sở giúp bạn làm quen với các câu lệnh và cấu trúc cơ bản, thì môn này sẽ trang bị cho bạn một phương pháp luận mạnh mẽ để thiết kế và xây dựng các phần mềm phức tạp một cách có tổ chức, dễ bảo trì và mở rộng.


Tư duy lập trình hướng đối tượng (OOP)

Trong suốt khóa học, bạn sẽ được đi sâu vào các khái niệm cốt lõi của lập trình hướng đối tượng (OOP), bao gồm:

  • Đối tượng (Object): Khái niệm trung tâm, đại diện cho một thực thể trong thế giới thực với các thuộc tính (dữ liệu) và hành vi (phương thức).
  • Lớp (Class): Một bản thiết kế hoặc khuôn mẫu để tạo ra các đối tượng.
  • Tính đóng gói (Encapsulation): Cơ chế che giấu chi tiết cài đặt và chỉ phơi bày những giao diện cần thiết, giúp bảo vệ dữ liệu và tăng tính bảo mật.
  • Tính kế thừa (Inheritance): Khả năng một lớp mới (lớp con) kế thừa các thuộc tính và phương thức từ một lớp đã có (lớp cha), giúp tái sử dụng mã và xây dựng hệ thống phân cấp.
  • Tính đa hình (Polymorphism): Khả năng một đối tượng có thể mang nhiều hình thái khác nhau, cho phép cùng một phương thức có thể thực hiện các hành vi khác nhau tùy thuộc vào đối tượng gọi nó.
  • Tính trừu tượng (Abstraction): Tập trung vào những đặc điểm cốt lõi và bỏ qua các chi tiết không cần thiết, giúp đơn giản hóa hệ thống và dễ dàng quản lý.

Ứng dụng và thực hành OOP

Môn học sẽ không chỉ dừng lại ở lý thuyết mà còn đặc biệt chú trọng vào việc áp dụng các nguyên lý OOP vào thực hành thông qua một ngôn ngữ lập trình cụ thể (thường là Java, C# hoặc Python, tùy theo giáo trình của EHOU). Bạn sẽ học cách:

  • Thiết kế lớp và đối tượng sao cho phản ánh đúng các thực thể trong bài toán.
  • Sử dụng các mối quan hệ giữa các lớp (kế thừa, kết hợp, tổng hợp) để xây dựng cấu trúc chương trình vững chắc.
  • Viết mã sạch và hiệu quả, tuân thủ các quy tắc thiết kế hướng đối tượng.
  • Sử dụng các mẫu thiết kế (Design Patterns) cơ bản để giải quyết các vấn đề lập trình lặp đi lặp lại.
  • Gỡ lỗi (debugging) và kiểm thử (testing) các chương trình hướng đối tượng.

Môn học này là cầu nối quan trọng giúp bạn từ việc viết các chương trình đơn lẻ sang việc xây dựng các hệ thống phần mềm lớn, có cấu trúc tốt và dễ dàng bảo trì, mở rộng trong tương lai.


Với sự hướng dẫn tận tâm của giảng viên và sự chủ động luyện tập, tư duy thiết kế của bạn, môn học Kỹ thuật lập trình hướng đối tượng IT07 sẽ cung cấp cho bạn một công cụ tư duy và kỹ năng lập trình mạnh mẽ, rất cần thiết cho bất kỳ lập trình viên chuyên nghiệp nào. Chúc bạn có một hành trình học tập hiệu quả và gặt hái được nhiều thành công!

Mẹo Nhỏ Nên Đọc Qua

1. Để tìm kết quả nhanh thì nên sử dụng Máy Tính thay vì Điện Thoại.

2. Sau khi Sao chép (Copy) câu hỏi thì bấm “Ctrl + F” và Dán (Paste) câu hỏi vào ô tìm kiếm sẽ thấy câu cả lời. (Copy nguyên câu không ra thì thử vài từ để kiếm)

3. Trường hợp không tìm thấy câu hỏi. Lúc này vui lòng kéo xuống dưới cùng để đặt câu hỏi mục bình luận. Sẽ được trả lời sau ít phút.

4. Xem danh sách đáp án Trắc nghiệm EHOU

5. THAM GIA KHẢO SÁT VỀ CÂU HỎI (Khảo sát giúp chúng tôi biết sự trải nghiệm của Bạn, Bạn có thể đóng ý kiến giúp Chúng tôi tăng trải nghiệm của bạn. Đặc biệt chúng tôi chọn ra 1 người may mắn mỗi tuần để trao Mã Kích Hoạt LawPro 30 Miễn Phí)

6. Tham gia group Facebook Sinh Viên Luật để được hỗ trợ giải bài tập và Nhận Mã Kích hoạt tài khoản Pro Miễn Phí

7. Nếu đăng nhập mà không thấy đáp án thì làm như sau: Giữ Phím Ctrl sau đó bấm phím F5 trên bàn phím “Ctrl + F5” để trình duyệt xóa cache lúc chưa đăng nhập và tải lại nội dung.

Đáp Án Trắc Nghiệm Môn IT07 – EHOU

Chỉ Thành Viên MemberPro Mới xem được toàn bộ đáp án.

Click chọn vào hình ảnh để xem chi tiết gói MemberPro. Hoặc lựa chọn tùy chọn và cho vào giỏ hàng để mua ngay. Hoàn tiền 100% nếu không hài lòng.

MemberPro

Môn IT07 EHOU

Khoảng giá: từ 30.000₫ đến 60.000₫

Xem được toàn bộ câu trắc nghiệm của môn này. Có 2 phiên bản là chỉ xem online và có thể tải tài liệu về để in ra

Mua xong xem đáp án Tại đây

SKU: IT07
Danh mục:
Thẻ:

ĐÁP ÁN TRẮC NGHIỆM KỸ THUẬT LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG _IT07_4 TÍN CHỈ – SOẠN NGÀY 16.05.2025 – THI TRẮC NGHIỆM

Ðúng✅=> Ghi chú  là đáp án

Câu 1: Biểu thức nào sau đây cho x có giá trị dương:

a. byte x = -1; x = x >>> 5;

b. int x = -1; x = x >> 5;

c. int x = -1; x = x >>> 32;

Ðúng✅=> d. int x = -1; x = x >>> 5;

Câu 2: Bước nào trong các bước phân tích và phát triển một hệ thống phần mềm hướng đối tượng thực hiện: tìm hiểu các trường hợp sử dụng (use case) để nắm bắt các yêu cầu của người sử dụng (khách hàng), của vấn đề cần giải quyết.

a. Kiểm tra (Testing)

b. Lập trình (Programming)

Ðúng✅=> c. Phân tích yêu cầu (Requirement analysis)

d. Thiết kế (Design)

Câu 3: Các application sử dụng ‘System.out.println()’ để hiển thị kết quả ra màn hình

trong khi đó applet sử dụng phương thức nào để xuất ra màn hình?

Ðúng✅=> a. drawString();

b. drawText();

c. setScreenText();

d. setString();

Câu 4: Các biểu thức nào sau đây cho kết quả là true?

a. “john” = “john”

Ðúng✅=> b. “john” == “john”

c. “john”.equals(“John”)

d. “john”.equals(new Button(“john”))

Câu 5: Các phát biểu nào sau đây đúng?

a. 128 >> 1 bằng –64

Ðúng✅=> b. 128 >> 1 bằng 64

c. 128 >>> 1 bằng 32

d. 128 >>> 1 bằng –64

Câu 6: Các phương thức được khai báo dùng các tiền tố nào thì không được khai báo là trừu tượng (abstract)?

a. Mặc định

b. protected

c. public

d. static

Câu 7: Các phương thức khai báo trong giao diện có thể bao gồm thân (các lệnh trong thân phương thức)?

a. Có thể.

b. Không thể.

c. Tùy tình huống.

Câu 8: Các phương thức nào sau đây không thể dừng sự thực thi của một thread?

a. notify();

b. sleep();

c. stop();

d. wait();

Câu 9: Các phương thức nào sau đây là phương thức của lớp Graphics?

a. drawLine(int, int, int, int);

b. drawString(int, String, int, int);

c. setLayout(Object);

d. setVisible(boolean);

Câu 10: Các tính chất cơ bản của phương pháp lập trình hướng đối tượng:

a. Mỗi lớp phải có constructor và destructor.

b. Tính cho phép hàm ảo, hàm thuần ảo và hàm friend.

c. Tính đóng gói, tính kế thừa và tính đa hình.

d. Tính public, protected và private.

Câu 11: Các từ nào sao đây là từ khóa trong java?

a. EXTENDS

b. FALSE

c. implements

d. vitual

Câu 12: Cách viết lệnh nào là đúng khi gọi thực thi một phương thức có tham số của đối tượng?

a. Các_tham_số.Đối_tượng.phương_thức()

b. Đối_tượng.các_tham_số.phương_thức()

c. Đối_tượng.phương_thức(các_tham_số)

d. Phương_thức.đối_tượng(các_tham_số)

Câu 13: Cấu trúc một chương trình java gồm các phần nào?

a. Các hàm tự do, hàm main()

b. Khai báo các biến, các chương trình con, hàm main()

c. Khai báo thư viện, lớp chương trình chính, các lớp khác

d. Lớp chương trình chính, các hàm tự do.

Câu 14: Cho biết các thành phần của lớp NV theo đoạn mã sau:

class NGUOI

{

private String Mnv;

protected String Hoten;

protected float Hsl;

float tinhLuong( ) { return Hsl * 1500000; }

}

class NHANVIEN extends NGUOI

{

private String Chucvu;

private String Donvi;

private float Pc;

float tinhPC( ) { return Pc * 1500000; }

}

a. -Thuộc tính: Chucvu, Donvi, Pc

-Phương thức: tinhPC( )

b. -Thuộc tính: Hoten, Hsl, Chucvu, Donvi, Pc
-Phương thức: tinhLuong(  ), tinhPC(  )

c. -Thuộc tính: Mnv, Hoten, Hsl, Chucvu, Donvi, Pc

-Phương thức: tinhLuong( ), tinhPC( )

d. -Thuộc tính: Mnv, Hoten, Hsl, Chucvu, Donvi, Pc

-Phương thức: tinhPC( )

Câu 15: Cho biết đoạn chương trình sau thực hiện yêu cầu xử lý gì?

public class Xylychuoi {

public static void main(String arg[])

{

String s = new String();

Scanner sc = new Scanner(System.in);

System.out.print(“Nhap chuoi:”);

s = sc.nextLine();

s = s.trim();

int d;

if(s.length()==0) d = 0;

else d = 1;

for(int i=0; i<s.length(); i++)

if(s.charAt(i)==’ ‘&&s.charAt(i+1)!=’ ‘)

d = d + 1;

System.out.print(“\n So tu:”+d);

}

}

a. Cho biết số từ có trong chuỗi “Khoa công nghệ thông tin”

b. Thực hiện chuyển đổi ký tự đầu mỗi từ thành chữ hoa

c. Thực hiện chuyển toàn bộ chuỗi s được nhập từ bàn phím thành chữ hoa

d. Thực hiện đếm số từ hiện có trong chuỗi s, với s được nhập từ bàn phím

Câu 16: Cho biết đoạn mã sau thực hiện yêu cầu xử lý gì?

public class TinhToan {

public static void main(String arg[])

{

int n, t=0;

int a[20];

for(int i=0;i<n;i++)

if (a[i] % 2==0)

t = t + a[i];

System.out.print(“\n Ket qua:” + t);

}

}

a. Tính tổng các phần tử chẵn trong mảng nguyên a gồm n phần tử

b. Tính tổng các phần tử lẻ trong mảng nguyên a gồm n phần tử

c. Tính tổng các phần tử ở vị trí chẵn của mảng a gồm n phần tử

d. Tính tổng các phần tử trong mảng nguyên a gồm n phần tử

Câu 17: Cho biết kết quả của chương trình sau:

public class Test {

static int age;

public static void main (String args []) {

age = age + 1;

System.out.println(“The age is ” + age);

}

}

a. Không xuất ra gì màn hình

b. Lỗi biên dịch

c. Lỗi khi chạy (runtime)

d. The age is 1

Câu 18: Cho biết kết quả của đoạn mã sau?

public class TinhToan {

public static void main(String arg[])

{

int t=0;

int a[] = { 2, 4, 5, 3, 6};

for(int i=0; i<a.length; i++)

if (a[i] % 2==0)

t = t + a[i];

System.out.print(“\n Ket qua:” + t);

}

}

a. 12

b. 20

c. 7

d. 8

Câu 19: Cho biết kết quả của đoạn mã sau?

public class TinhToan {

public static void main(String arg[])

{

int t=0;

int a[] = { 2, 4, 5, 3, 6};

for(int i=0; i<a.length; i++)

if (i % 2==0)

t = t + a[i];

System.out.print(“\n Ket qua:” + t);

}

}

a. 12

b. 13

c. 7

d. 8

Câu 20: Cho biết kết quả của đoạn mã sau?

public class TinhToan {

public static void main(String arg[])

{

int t=0;

int a[] = { 2, 4, 5, 3, 6};

for(int i=0; i<a.length; i++)

if (i % 2==1)

t = t + a[i];

System.out.print(“\n Ket qua:” + t);

}

}

a. 12

b. 13

c. 7

d. 8

Câu 21: Cho biết kết quả hiển thị sau khi thực hiện chương trình sau:

public class Test01

{private int x,y;

Test01()

{x = y = 5;

}

Test01(int k)

{x=y=k;

}

private void hien()

{System.out.printf(“x = %d, y = %d”,x,y);

}

public static void main(String [] arg)

{Test01 ts = new Test01(10);

ts.hien();

}

}

a. Lỗi biên dịch chương trình

b. x = 10, y = 10

c. x = 10, y = 5

d. x = 5, y = 5

Câu 22: Cho biết kết quả hiển thị sau khi thực hiện chương trình sau:

public class Test01

{private int x,y;

Test01()

{x = y = 5;

}

Test01(int k)

{x=y=k;

}

public void hien()

{System.out.printf(“x = %d, y = %d”,x,y);

}

public static void main(String [] arg)

{Test02 ts = new Test02();

ts.hien();

}

}

class Test02 extends Test01

{private int z;

Test02(int k)

{super(k);

z=k;

}

}

a. x = 10, y = 10

b. x = 10, y = 5

c. x = 5, y = 10

d. x = 5, y = 5

Câu 23: Cho biết kết quả khi thực thi class sau:

import java.awt.*;

public class FrameTest extends Frame {

public FrameTest() {

add (new Button(“First”));

add (new Button(“Second”));

add (new Button(“Third”));

pack();

setVisible(true);

}

public static void main(String args []) {

new FrameTest();

}

}

Lựa chọn phát biểu đúng nhất:

a. Cả ba button được hiển thị.

b. Chỉ có “First” button được hiển thị.

c. Chỉ có “Second” button được hiển thị.

d. Chỉ có “Third” button được hiển thị.

Câu 24: Cho biết kết quả khi thực thi đoạn code sau biết giá trị của x là 2:

switch (x) {

case 1:

System.out.println(1);

case 2:

case 3:

System.out.println(3);

case 4:

System.out.println(4);

}

a. Các giá trị 1,3,4 được xuất ra.

b. Các giá trị 3 và 4 được xuất ra.

c. Không in ra gì cả.

d. Xuất ra màn hình 3

Câu 25: Cho biết lớp B gồm các thành phần gì trong đoạn mã sau:

class A

{

int x,y;

public A(){ x=y=5; }

public int sumA( ){ return x+y; }

}

class B extends A

{

int z;

public B(){ z=7; }

public int sumB( ) { return x+y+z;}

}

a. -Thuộc tính: x, y

-Phương thức: sumA( )

b. -Thuộc tính: x, y, z

-Phương thức: A( ), B( ), sumA( ), sumB( )

c. -Thuộc tính: x, y, z

-Phương thức: sumA( ), sumB( )

d. -Thuộc tính: z,

-Phương thức: sumB( )

Câu 26: Cho biết ý nghĩa của đoạn chương trình sau:

class NhanSu

{

int maNS, namSinh;

Strinh hoTen;

void nhapNS( )

{

Scanner sc = new Scanner(System.in);

System.out.print(“Nhap Ma:”);

maNS = sc.nextInt( );

System.out.print(“Nhap Ho Ten:”);

hoTen = sc.nextLine( );

System.out.print(“Nhap Nam Sinh:”);

namSinh = sc.nextInt( );

}

void xuatNS( )

{

System.out.printf(“\n%7d”, maNS);

System.out.printf(“%15s”, hoTen);

System.out.printf(“%7d”, namSinh);

}

}

class HocSinh extends NhanSu

{

float diemTB;

void nhapHS( )

{

super.nhapNS();

Scanner sc = new Scanner(System.in);

System.out.print(“Nhap DTB:”);

diemTB = sc.nextFloat( );

}

void xuatHS( )

{

super.xuatNS();

System.out.printf(“%7.1f”, diemTB);

}

}

a. Xây dựng HocSinh thoả mãn:

+Thuộc tính: Mã Nhân sự, Năm sinh, Họ Tên, điểm Trung bình

+Phương thức: Nhập Học sinh, Xuất Học sinh

b. -Xây dựng lớp HocSinh thoả mãn:

+Thuộc tính: Mã Nhân sự, Năm sinh, Họ Tên, điểm Trung bình

+Phương thức: Nhập nhân sự, Xuất nhân sự, nhập Học sinh, Xuất Học sinh

c. -Xây dựng lớp NhanSu thoả mãn:

+Thuộc tính:Mã Nhân sự, Năm sinh, Họ Tên

+Phương thức: Nhập nhân sự, Xuất nhân sự

-Xây dựng lớp HocSinh kế thừa từ lớp NhanSu bổ sung thêm:

+Thuộc tính: điểm Trung bình

+Phương thức: nhập Học sinh, Xuất Học sinh

d. Xây dựng NhanSu thoả mãn:

+Thuộc tính: Mã Nhân sự, Năm sinh, Họ Tên, điểm Trung bình

+Phương thức: Nhập nhân sự, Xuất nhân sự

Câu 27: Cho biết ý nghĩa của đoạn mã sau:

class XE

{

private String MaXe;

protected String TenXe;

}

class XEMAY extends XE

{

private String NuocSX;

private float DonGia;

private int SoLuong;

float tinhTien( ) { return DonGia*SoLuong; }

}

a. Xây dựng lớp XEMAY gồm các thành phần sau:

-thuộc tính: Mã xe, Tên xe, nước Sản xuất, Đơn giá, Số lượng

-phương thức: tính Tiền (=Số lượng*Đơn giá)

b. Xây dựng lớp XEMAY kế thừa từ lớp XE

c. Xây dựng lớp XEMAY kế thừa từ lớp XE, lớp XEMAY bổ sung thêm các thành phần sau:

-thuộc tính: nước Sản xuất, Đơn giá, Số lượng

-phương thức: tính Tiền (=Số lượng*Đơn giá)  

d. Xây dựng lớp XEMAY kế thừa từ lớp XE, lớp XEMAY bổ sung thêm:

-thuộc tính: Tên xe, nước Sản xuất, Đơn giá, Số lượng

-phương thức: tính Tiền (=Số lượng*Đơn giá)

Câu 28: Cho class được khai báo như sau:

public class Test {

public static void test() {

print();

}

public static void print() {

System.out.println(“Test”);

}

public void print() {

System.out.println(“Another Test”);

}

}

Cho biết kết quả khi biên dịch class này:

a. Bị lỗi vì lý do khác.

b. Biên dịch thành công.

c. Có lỗi vì có hai phương thức print giống nhau.

d. Có warning vì không có main method.

Câu 29: Cho đoạn code sau:

public class Test {

}

Lựa chọn nào sau đây có thể dùng để định nghĩa một hàm tạo (constructor) cho lớp trên?

a. public static Test() {…}

b. public static void Test() {…}

c. public Test() {…}

d. public void Test() {…}

Câu 30: Cho đoạn mã sau:

class Test{

public static void main(String args[]){

double d = 12.3;

Decrementer dec = new Decrementer();

dec.decrement(d);

System.out.println(d);

}

}

class Decrementer{

public void decrement(double decMe){

decMe = decMe – 1.0;

}

}

Giá trị in ra của câu

Câu 31: Cho khai báo mảng hai chiều a chứa các số nguyên, với h và c là số hàng và số cột tương ứng của mảng hai chiều như sau:

int a[][];

int h,c;

Đoạn mã để tạo số ngẫu nhiên trong phạm vi từ 0 đến 99 cho các phần tử của mảng a là như thế nào?

a. Random rd = new Randomtrứng;

for(i=0;i<h;i++)

for(j=0;j<c;j++)

a[i][j] = rd.nextInt(100);

b. Random rd = new Randomtrứng;

for(i=0;i<h;i++)

for(j=0;j<c;j++)

a[i][j] = rd.nextInttrứng;

c. Random rd;

for(i=0;i<h;i++)

for(j=0;j<c;j++)

a[i][j] = rd.nextInt(99);

d. Scanner sc = new Scanner(System.in);

for(i=0;i<h;i++)

for(j=0;j<c;j++)

a[i][j] = sc.nextInttrứng;

Câu 32: Cho khai báo sau:

int a = 3.5;

Kết quả sau khi biên dịch là gì?

a. a = 3

b. a = 3.5

c. Lỗi biên dịch

Câu 33: Cho lớp đối tượng CAR (ô tô) với các thành phần: Tên xe, số chỗ ngồi, khởi động, tốc độ tối đa. Hãy chỉ ra đâu là phương thức của lớp CAR?

a. Khởi động

b. Số chỗ ngồi

c. Tên xe

d. Tốc độ tối đa

Câu 34: Cho lớp HangHoa được xây dựng như sau:

public class HangHoa{

private String tenHH;

private int soLuong;

private float donGia;

public String getTenHH() {

return tenHH;

}

public void setTenHH(String name) {

this.tenHH = name;

}

public int getSoLuong() {

return soLuong;

}

public void setSoLuong(int sl) {

this.soLuong = sl;

}

public float getDonGia() {

return donGia;

}

public void setDonGia(float dg) {

this.donGia = dg;

}

}

Đâu là đoạn mã để tạo đối tượng HangHoa với giá trị lấy từ các điều khiển trên giao diện như hình:

a. private HangHoa getHangHoa (  ){

HangHoa hh = new HangHoa();

hh.setTenHH(txtTenHH.getText());

hh.setSoLuong(Integer.parseInt(txtSoLuong.getText()));

hh.setDonGia(Float.parseFloat(txtDonGia.getText()));

return hh;

}

b. private HangHoa getHangHoa (  ){

HangHoa hh = new HangHoa();

hh.tenHH = txtTenHH.getText();

hh.soLuong = Integer.parseInt(txtSoLuong.getText());

hh.donGia = Float.parseFloat(txtDonGia.getText());

return hh;

}

c. private HangHoa getHangHoa (  ){

HangHoa hh = new HangHoa();

hh.tenHH = txtTenHH.getText();

hh.soLuong = txtSoLuong.getText();

hh.donGia = txtDonGia.getText();

return hh;

}

d. private void getHangHoa( HangHoa hh ){

hh.setTenHH(txtTenHH.getText());

hh.setSoLuong(Integer.parseInt(txtSoLuong.getText()));

hh.setDonGia(Float.parseFloat(txtDonGia.getText()));

}

Câu 35: Cho lớp NV như sau:

public class NV {

float hsl;

float tinhluong( ) { return hsl * 1500000; }

void nhap( )

{

Scanner sc = new Scanner(System.in);

System.out.print(“Nhap HSL:”);

hsl = sc.nextFloat( ) ;

}

}

Đâu là đoạn mã để xây dựng lớp DSNV với các yêu cầu sau:

-thuộc tính: danh sách nhân viên (sử dụng ArrayList)

-phương thức: tính tổng lương các nhân viên, nhập danh sách nhân viên từ bàn phím

a. class DSNV

{

ArrayList lstNV;

void nhapDSNV( )

{

int n,i;

Scanner sc = new Scanner(System.in);

System.out.print(“Nhap so NV:”);

N = sc.nextInt();

lstNV = new ArrayList( n );

for(i=0;i<n;i++)

{

NV x = new NV( ) ;

x.nhap( ) ;

lstNV.add( x );

}

}

void tinhTongLuong( )

{

float s;

for(int i=0;i<n;i++)

s = s + lstNV.get(i).tinhluong( ) ;

}

}

b. class DSNV

{

ArrayList<NV> lstNV;

void nhapDSNV( )

{

int n,i;

Scanner sc = new Scanner(System.in);

System.out.print(“Nhap so NV:”);

for(i=0;i<n;i++)

{

NV x = new NV( );

x.nhap( );

lstNV.add( x );

}

}

void tinhTongLuong( )

{

float s = 0;

for(int i=0; i<n; i++)

s = s + lstNV[i].tinhluong( );

}

}

c. class DSNV

{

ArrayList<NV> lstNV;

void nhapDSNV( )

{

int n,i;

Scanner sc = new Scanner(System.in);

System.out.print(“Nhap so NV:”);

N = sc.nextInt();

lstNV = new ArrayList( n );

for(i=0;i<n;i++)

{

NV x = new NV( );

x.nhap( );

lstNV.add( x );

}

}

void tinhTongLuong( )

{

float s = 0;

for(NV x: lstNV)

s = s + x.tinhluong( );

}

}

d. class DSNV

{

ArrayList<NV> lstNV;

void nhapDSNV( )

{

int n,i;

Scanner sc = new Scanner(System.in);

System.out.print(“Nhap so NV:”);

N = sc.nextInt();

lstNV = new ArrayList( n );

for(i=0;i<n;i++)

{

x.nhap( );

lstNV.add( x );

}

}

void tinhTongLuong( )

{

float s;

for(NV x: lstNV)

s = s + x.tinhluong( );

}

}

Câu 36: Cho một component comp và một container cont có kiểu trình bày là BorderLayout. Cho biết cách để gắn comp vào vị trí đầu của cont ?

a. addTop(cont,comp)

b. comp.add(“North”,cont)

c. cont.add(comp,BorderLayout.NORTH)

d. cont.addTop(comp)

Câu 37: Cho một component comp và một container cont có kiểu trình bày là FlowLayout. Cho biết cách để gắn comp vào cont ?

a. comp.add(cont)

b. cont.add(comp)

c. cont.addAllComponents()

d. cont.addComponent(comp)

Câu 38: Cho ví dụ sau:

class First {

public First (String s) {

System.out.println(s);

}

}

public class Second extends First {

public static void main(String args []) {

new Second();

}

}

Cho biết kết quả biên dịch và thực thi của lớp Second?

a. Lỗi khi biên dịch vì lớp First không có constuctor không tham số.

b. Lỗi khi chạy vì lớp First không có constructor không tham số.

c. Một thể hiện (instance) của lớp Second được tạo ra.

d. Xuất ra một chuỗi trên màn hình.

Câu 39: Chọn các component có phát sinh action event:

a. Button

b. Checkbox

c. Label

d. Windows

Câu 40: Chọn cách sửa ít nhất để đoạn mã sau biên dịch đúng

final class Aaa

{int xxx;

void yyy(){xxx = 1;}

}

class Bbb extends Aaa

{final Aaa finalRef = new Aaa();

final void yyy()

{System.out.println(“In method yyy()”);

finalRef.xxx = 12345;

}

}

a. Không cần phải chỉnh sửa gì

b. Xóa từ final ở dòng 1

c. Xóa từ final ở dòng 1 và 7

d. Xoá từ final ở dòng 7

Câu 41: Chọn cách sửa ít nhất để đoạn mã sau biên dịch đúng

final class Aaa

{int xxx;

void yyy(){xxx = 1;}

}

class Bbb extends Aaa

{final Aaa finalRef = new Aaa();

final void yyy()

{System.out.println(“In method yyy()”);

finalRef.xxx = 12345;

}

}

a. Không cần phải chỉnh sửa gì

b. Xóa từ final ở dòng 1 và 7

c. Xóa từ final ở dòng 1

d. Xoá từ final ở dòng 7

Câu 42: Chọn câu

Câu 43: Chọn khai báo đúng cho phương thức main()?

a. public static int main(String[] arg)

b. public static void main(String[] args)

c. public static void maintrứng

d. public void main(String[] arg)

Câu 44: Chọn kiểu trình bày để đặt các component trên khung chứa dưới dạng bảng.

a. BorderLayout

b. CardLayout

c. FlowLayout

d. GridLayout

Câu 45: Chọn phát biểu đúng cho hàm khởi tạo?

a. Một lớp sẽ kết thừa các hàm khởi tạo từ lớp cha.

b. Tất cả các hàm khởi tạo có kiểu trả về là void.

c. Tất cả các phương án đều sai.

d. Trình biên dịch sẽ tự động tạo hàm khởi tạo mặc định nếu lớp không định nghĩa hàm khởi tạo.

Câu 46: Chọn phát biểu đúng:

a. Bắt buộc khi khai báo lớp, ta phải chỉ rõ phạm vi bởi 1 trong 3 từ khóa: private, protected hoặc public.

b. Các thành phần private chỉ có thể được truy nhập từ bên trong thân các phương thức của lớp đó và lớp kế thừa từ nó.

c. Các thành phần protected chỉ có thể được truy nhập từ bên trong thân các phương thức của lớp đó và cũng có thể truy nhập từ bất cứ lớp con nào kế thừa từ nó.

d. Các thành phần public có thể được truy nhập từ bên trong lẫn bên ngoài lớp nhưng cùng gói (package) với lớp đó.

Câu 47: Chọn phát biểu đúng:

a. Các event listeners là các interface qui định các phương thức cần phải cài đặt để xử lý các sự kiệc liên quan khi sự kiện đó xảy ra.

b. Lớp WindowAdapter được dùng để xử lý các sự kiện liên quan đến cửa sổ màn hình.

c. Một event adapter là một cung cấp các cài đặt mặc định cho các event listener tương ứng.

d. Tất cả các phát biểu đều đúng.

Câu 48: Chọn phát biểu đúng:

a. Có thể tạo ra các thể hiện (instances) của 1 lớp trừu tượng (abstract).

b. implements là từ khoá cho java biết lớp này là lớp trừu tượng.

c. Nếu có từ khóa final khi định nghĩa lớp, chương trình dịch java biết đây là một lớp hằng, có thể kế thừa.

d. Từ khóa extends xác định lớp ta đang định nghĩa kế thừa từ lớp nào.

Câu 49: Chọn phát biểu đúng:

a. MouseClickListener interface định nghĩa các phương thức để xử lý sự kiện nhấn chuột.

b. MouseListener interface định nghĩa các phương thức để xử lý sự kiện nhấn chuột.

c. MouseMotionListener interface định nghĩa các phương thức để xử lý sự kiện nhấn chuột.

d. Tất cả các phát biểu đều đúng.

Câu 50: Chọn phát biểu đúng:

a. TextArea extends TextField.

b. TextComponent extends TextArea

c. TextComponent extends TextField

d. TextField extends TextComponent

Câu 51: Chọn phát biểu đúng:

a. Tham chiếu của đối tượng có thể được chuyển đổi trong phép gán nhưng không thể thực hiện trong phép gọi phương thức.

b. Tham chiểu của đối tượng có thể được chuyển đổi trong phép gọi phương thức và phép gán nhưng tuân theo những quy tắc khác nhau.

c. Tham chiếu của đối tượng có thể được chuyển đổi trong phép gọi phương thức, phép gán và tuân theo những quy tắc giống nhau.

d. Tham chiếu của đổi tượng có thể được ép kiểu trong phép gọi phương thức nhưng không thể thực hiện trong phép gán.

Câu 52: Chọn phát biểu đúng:

a. Thể hiện của button có thể phát sinh ActionEvent.

b. Thể hiện của CheckBoxGroup có thể phát sinh ActionEvent.

c. Thể hiện của TextArea có thể phát sinh ActionEvent.

d. Thể hiện của TextField có thể phát sinh ActionEvent.

Câu 53: Chọn phát biểu đúng:

Phát biểu 1: InputStream và OuputStream là 2 luồng dữ liệu kiểu byte

Phát biểu 2: Reader và Writer là 2 luồng dữ liệu kiểu character.

a. Cả 2 phát biểu đều đúng.

b. Cả 2 phát biểu đều sai.

c. Chỉ phát biểu 1 đúng.

d. Chỉ phát biểu 2 đúng.

Câu 54: Chọn phát biểu đúng?

a. Cả kiểu dữ liệu cơ sở và kiểu tham chiếu đều có thể chuyển đổi tự động và ép kiểu.

b. Chỉ biến tham chiếu mới được chuyển đổi kiểu tự động; để chuyển kiểu của 1 biến kiểu cơ sở phải sử dụng phép toán ép kiểu.

c. Chỉ kiểu dữ liệu cơ sở mới được chuyển đổi kiểu tự động; để chuyển đổi kiểu dữ liệu của biến tham chiếu phải sử dụng phép ép kiểu.

d. Phép ép kiểu đối với dữ liệu số có thể cần phép kiểm tra khi thực thi.

Câu 55: Chọn phát biểu đúng?

a. Lớp Class là lớp cha của lớp Object.

b. Lớp Object là một lớp final.

c. Mọi lớp đề kế thừa trực tiếp hoặc gián tiếp từ lớp Object.

Câu 56: Chọn phát biểu sai trong các phát biểu dưới đây:

a. Java áp dụng cơ chế bộ nhớ động cho mọi đối tượng trong chương trình.

b. Java là ngôn ngữ lập trình thuần hướng đối tượng.

c. Ứng dụng Java chỉ thực thi được trên các máy tính cá nhân.

d. Ứng dụng Java độc lập với môi trường thực hiện.

Câu 57: Chọn phát biểu sai:

a. Bên trong phương thức tĩnh ta chỉ có thể truy cập đến các thành viên tĩnh.

b. Khi khai báo một thuộc tính final thì phải cung cấp giá trị khởi tạo cho nó.

c. Không thể định nghĩa một thuộc tính vừa là final và static.

d. Nếu lớp là final thì có nghĩa là sẽ không có lớp kế thừa từ lớp này.

Câu 58: Chọn phát biểu sai:

a. Không có thuộc tính trừu tượng.

b. Nếu trong lớp có ít nhất một phương thức trừu tượng thì lớp đó phải là lớp trừu tượng.

c. Ta không thể tạo đối tượng của lớp trừu tượng.

d. Ta không thể xây dựng lớp thừa kế từ một lớp trừu tượng.

Câu 59: Chọn phương thức để hiện thị Frame lên màn hình?

a. display()

b. displayFrame()

c. setVisible()

d. Tất cả các câu

Câu 60: Chọn phương thức dùng để gán nội dung cho Label:

a. setLabel()

b. setLabelText()

c. setText()

d. setTextLabel()

Câu 61: Chọn phương thức dùng để xác định cách trình bày của một khung chứa:

a. initLayout()

b. layoutContainer()

c. setLayout()

d. startLayout()

Câu 62: Chọn phương thức dùng để xác định vị trí và kích thước của các component?

a. setBounds()

b. setComponent()

c. setComponentSize()

d. setSizeAndPosition()

Câu 63: Chúng ta có thể sử dụng tham chiếu kiểu giao diện để xử lý đối tượng hay không?

a. Có thể.

b. Không thể.

c. Tùy tình huống.

Câu 64: Cơ chế phương thức ảo phải được kết hợp với kỹ thuật nào trong kế thừa?

a. Kỹ thuật ghi đè phương thức (overriding method).

b. Kỹ thuật nạp chồng phương thức (overloading method).

c. Kỹ thuật xử lý đa luồng (multiThreading).

d. Kỹ thuật xử lý giao diện đồ họa (Graphics).

Câu 65: Có mấy loại socket trong java?

a. 1 loại

b. 2 loại

c. 3 loại

d. 4 loại

Câu 66: Đâu là cấu trúc vòng đời của một chương trình applet cơ bản?

a. Creation – Initialization – Starting – Stop – Destroy

b. Creation – Starting – Initialization – Stop – Destroy

c. Initialization – Creation – Starting – Stop – Destroy

d. Initialization – Starting – Creation – Stop – Destroy

Câu 67: Đâu là đoạn chương trình để vẽ được đồ thị như hình minh hoạ

a. public class DoThi extends Applet {

public void paint(Graphics g) {

g.drawLine(5, 5, 5, 200);

g.drawLine(5, 200, 200, 200);

g.setColor(Color.red);

g.fillRect(25, 80, 40, 120);

g.drawString(“120”, 25, 75);

g.setColor(Color.blue);

g.fillRect(105, 140, 40, 60);

g.drawString(“60”, 105, 135);

g.setColor(Color.gray);

g.fillRect(185, 100, 40, 100);

g.drawString(“100”, 185, 95);

g.setColor(Color.pink);

g.fillRect(265, 120, 40, 80);

g.drawString(“80”, 265, 115);

}

}

b. public class DoThi extends Applet

{

public void paint(Graphics g)

{

g.drawLine(5,5,5,200);

g.drawLine(5,200,200,200);

g.setColor(Color.blue);

g.fillRect(65,140,20,60);

g.drawString(“60”, 65, 140);

g.setColor(Color.green);

g.fillRect(105,100,20,100);

g.drawString(“100”,105,100);

g.setColor(Color.red);

g.fillRect(25,80,20,120);

g.drawString(“120”, 25, 80);

g.setColor(Color.yellow);

g.fillRect(145,120,20,80);

g.drawString(“80”,145,120);

}

}

c. public class DoThi extends Applet

{

public void paint(Graphics g)

{

g.drawLine(5,5,5,200);

g.drawLine(5,200,200,200);

g.setColor(Color.blue);

g.fillRect(65,140,20,60);

g.drawString(“60”, 65, 140);

g.setColor(Color.red);

g.fillRect(25,80,20,120);

g.drawString(“120”, 25, 80);

g.setColor(Color.green);

g.fillRect(105,100,20,100);

g.drawString(“100”,105,100);

g.setColor(Color.yellow);

g.fillRect(145,120,20,80);

g.drawString(“80”,145,120);

}

}

d. public class DoThi extends Applet

{

public void paint(Graphics g)

{

g.drawLine(5,5,5,200);

g.drawLine(5,200,200,200);

g.setColor(Color.green);

g.fillRect(105,100,20,100);

g.drawString(“100”,105,100);

g.setColor(Color.yellow);

g.fillRect(145,120,20,80);

g.drawString(“80”,145,120);

g.setColor(Color.red);

g.fillRect(25,80,20,120);

g.drawString(“120”, 25, 80);

g.setColor(Color.blue);

g.fillRect(65,140,20,60);

g.drawString(“60”, 65, 140);

}

}

Câu 68: Đâu là đoạn mã để tạo các Checkbox như hình minh hoạ:

a. Checkbox radio1 = new Checkbox(“Red”, g, false);

Checkbox radio2 = new Checkbox(“Green”,g, false);

Checkbox radio3 = new Checkbox(“Blue”,g,false);

b. CheckboxGroup g = new CheckboxGroup( );

Checkbox radio1 = new Checkbox(“Red”,g,false);

Checkbox radio2 = new Checkbox(“Green”,g,false);

Checkbox radio3 = new Checkbox(“Blue”,g,false);

c. CheckboxGroup g = new CheckboxGroup( );

Checkbox rd1 = new Checkbox(“Red”,g,true);

Checkbox rd2 = new Checkbox(“Green”,g, false);

Checkbox rd3 = new Checkbox(“Blue”,g,false);

d. CheckboxGroup g = new CheckboxGroup();

Checkbox radio1 = new Checkbox(“Red”,g,false);

Checkbox radio2 = new Checkbox(“Green”,g, true);

Checkbox radio3 = new Checkbox(“Blue”,g, false);

Câu 69: Đâu là đoạn mã để tạo giao diện như hình minh hoạ:

a. checkBold = new Checkbox(“Bold”);

checkBold.setState(false);

checkItalic = new Checkbox(“Italic”);

checkItalic.setState(true);

txtText = new

TextField(“Sample Text”,16);

b. checkBold = new Checkbox(“Bold”);

checkBold.setState(false);

checkItalic = new Checkbox(“Italic”);

checkItalic.setState(true);

txtText = new

TextField(“Sample Text”,16);

add(txtText);

add(checkBold);

add(checkItalic);

c. checkBold = new Checkbox(“Bold”);

checkBold.setState(true);

checkItalic = new Checkbox(“Italic”);

checkItalic.setState(false);

txtText = new

TextField(“”,16);

add(txtText);

add(checkBold);

add(checkItalic);

d. checkBold = new Checkbox(“Bold”);

checkBold.setState(true);

checkItalic = new Checkbox(“Italic”);

checkItalic.setState(false);

txtText = new

TextField(“Sample Text”,16);

add(txtText);

add(checkBold);

add(checkItalic);

Câu 70: Đâu là đoạn mã để tạo hình tròn như hình minh hoạ

a. class MyFrame extends Frame

{

public MyFrame(String title)

{

super(title);

}

public void paint(Graphics g)

{

g.setColor(Color.BLUE);

g.drawOval(40, 40, 80, 80);

}

}

b. class MyFrame extends Frame

{

public MyFrame(String title)

{

super(title);

}

public void paint(Graphics g)

{

g.setColor(Color.BLUE);

g.fillOval(40, 40, 80, 80);

}

}

c. class MyFrame extends Frame

{

public MyFrame(String title)

{

super(title);

g.setColor(Color.BLUE);

g.fillOval(40, 40, 80, 80);

}

}

d. class MyFrame extends Frame

{

public void paint(Graphics g)

{

g.setColor(Color.BLUE);

g.fillOval(40, 40, 80, 80);

}

}

Câu 71: Đâu là đoạn mã để tính tổng các phần tử lẻ trong mảng a gồm n phần tử?

a. public class TinhToan {

public static void main(String arg[])

{

int n, t=0;

int a[20];

for(int i=0; i<n; i++)

if (a[i] %2 == 0)

t = t + a[i];

System.out.print(“\n Ket qua:” + t);

}

}

b. public class TinhToan {

public static void main(String arg[])

{

int n, t=0;

int a[20];

for(int i=0; i<n; i++)

if (a[i]%2==1)

t = t + a[i];

System.out.print(“\n Ket qua:” + t);

}

}

c. public class TinhToan {

public static void main(String arg[])

{

int n, t=0;

int a[20];

for(int i=0; i<n; i++)

if (i %2 == 1)

t = t + a[i];

System.out.print(“\n Ket qua:” + t);

}

}

d. public class TinhToan {

public static void main(String arg[])

{

int n, t=0;

int a[20];

for(int i=0; i<n; i++)

t = t + a[i];

System.out.print(“\n Ket qua:” + t);

}

}

Câu 72: Đâu là đoạn mã xây dựng lớp GiaoVien theo sơ đồ sau:

/

a. class GiaoVien extend NhanSu

{

float luongThang;

void nhapGV( )

{

NhanSu.nhapNS();

Scanner sc = new Scanner(System.in);

System.out.print(“Nhap Luong:”);

luongThang = sc.nextFloat( );

}

void xuatGV( )

{

NhanSu.xuatNS();

System.out.printf(“%7.1f”, luongThang);

}

}

b. class GiaoVien extends NhanSu
{
float luongThang;
void nhapGV(  )
{
super.nhapNS();
Scanner sc = new Scanner(System.in);
System.out.print(“Nhap Luong:”);
luongThang = sc.nextFloat(  );
}
void xuatGV(  )
{
super.xuatNS();
System.out.printf(“%7.1f”, luongThang);
}
}

c. class GiaoVien

{

float luongThang;

void nhapGV( )

{

Scanner sc = new Scanner(System.in);

System.out.print(“Nhap Luong:”);

luongThang = sc.nextFloat( );

}

void xuatGV( )

{

System.out.printf(“%7.1f”, luongThang);

}

}

d. class GiaoVien

{

int maNS, namSinh;

Strinh hoTen;

float luongThang;

void nhapGV( )

{

Scanner sc = new Scanner(System.in);

System.out.print(“Nhap Ma:”);

maNS = sc.nextInt( );

System.out.print(“Nhap Ho Ten:”);

hoTen = sc.nextLine( );

System.out.print(“Nhap Nam Sinh:”);

namSinh = sc.nextInt( );

System.out.print(“Nhap Luong:”);

luongThang = sc.nextFloat( );

}

void xuatGV( )

{

System.out.printf(“\n%7d”, maNS);

System.out.printf(“%15s”, hoTen);

System.out.printf(“%7d”, namSinh);

System.out.printf(“%7.1f”, luongThang);

}

}

Câu 73: Đâu là đoạn mã xây dựng lớp GiaoVien theo sơ đồ sau:

a. class GiaoVien extend NhanSu

{

float luongThang;

void nhapGV( )

{

NhanSu.nhapNS();

Scanner sc = new Scanner(System.in);

System.out.print(“Nhap Luong:”);

luongThang = sc.nextFloat( );

}

void xuatGV( )

{

NhanSu.xuatNS();

System.out.printf(“%7.1f”, luongThang);

}

}

b. class GiaoVien extends NhanSu

{

float luongThang;

void nhapGV( )

{

super.nhapNS();

Scanner sc = new Scanner(System.in);

System.out.print(“Nhap Luong:”);

luongThang = sc.nextFloat( );

}

void xuatGV( )

{

super.xuatNS();

System.out.printf(“%7.1f”, luongThang);

}

}

c. class GiaoVien

{

float luongThang;

void nhapGV( )

{

Scanner sc = new Scanner(System.in);

System.out.print(“Nhap Luong:”);

luongThang = sc.nextFloat( );

}

void xuatGV( )

{

System.out.printf(“%7.1f”, luongThang);

}

}

d. class GiaoVien

{

int maNS, namSinh;

Strinh hoTen;

float luongThang;

void nhapGV( )

{

Scanner sc = new Scanner(System.in);

System.out.print(“Nhap Ma:”);

maNS = sc.nextInt( );

System.out.print(“Nhap Ho Ten:”);

hoTen = sc.nextLine( );

System.out.print(“Nhap Nam Sinh:”);

namSinh = sc.nextInt( );

System.out.print(“Nhap Luong:”);

luongThang = sc.nextFloat( );

}

void xuatGV( )

{

System.out.printf(“\n%7d”, maNS);

System.out.printf(“%15s”, hoTen);

System.out.printf(“%7d”, namSinh);

System.out.printf(“%7.1f”, luongThang);

}

}

Câu 74: Đâu là đoạn mã xây dựng lớp HCN với yêu cầu sau:

– thuộc tính: x, y

– phương thức: khởi tạo có tham số, khởi tạo không có tham số, tính diện tích, tính chu vi

a. public class HCN {

int x, y;

HCN( ) { x=0; y=0; }

HCN(int xx, int yy)

{ x = xx; y = yy; }

}

b. public class HCN {

int x, y;

HCN( ) { x=0; y=0; }

HCN(int xx, int yy)

{ x = xx; y = yy; }

int dientich( ) { return x * y; }

int chuvi( ) { return (x+y)*2; }

}

c. public class HCN {

int x, y;

HCN(int xx, int yy)

{ x = xx; y = yy; }

int dientich( ) { return x * y; }

int chuvi( ) { return (x+y)*2; }

}

d. public class HCN {

int x, y;

int dientich( ) { return x * y; }

int chuvi( ) { return (x+y)*2; }

}

Câu 75: Đâu là đoạn mã xây dựng lớp HocSinh theo sơ đồ sau:

a. class HocSinh extend NhanSu

{

float diemTB;

void nhapHS( )

{

NhanSu.nhapNS();

Scanner sc = new Scanner(System.in);

System.out.print(“Nhap DTB:”);

diemTB = sc.nextFloat( );

}

void xuatHS( )

{

NhanSu.xuatNS();

System.out.printf(“%7.1f”, diemTB);

}

}

b. class HocSinh extends NhanSu

{

float diemTB;

void nhapHS( )

{

super.nhapNS();

Scanner sc = new Scanner(System.in);

System.out.print(“Nhap DTB:”);

diemTB = sc.nextFloat( );

}

void xuatHS( )

{

super.xuatNS();

System.out.printf(“%7.1f”, diemTB);

}

}

c. class HocSinh

{

float diemTB;

void nhapHS( )

{

Scanner sc = new Scanner(System.in);

System.out.print(“Nhap DTB:”);

diemTB = sc.nextFloat( );

}

void xuatHS( )

{

System.out.printf(“%7.1f”, diemTB);

}

}

d. class HocSinh

{

int maNS, namSinh;

Strinh hoTen;

float diemTB;

void nhapHS( )

{

Scanner sc = new Scanner(System.in);

System.out.print(“Nhap Ma:”);

maNS = sc.nextInt( );

System.out.print(“Nhap Ho Ten:”);

hoTen = sc.nextLine( );

System.out.print(“Nhap Nam Sinh:”);

namSinh = sc.nextInt( );

System.out.print(“Nhap DTB:”);

diemTB = sc.nextFloat( );

}

void xuatHS( )

{

System.out.printf(“\n%7d”, maNS);

System.out.printf(“%15s”, hoTen);

System.out.printf(“%7d”, namSinh);

System.out.printf(“%7.1f”, diemTB);

}

}

Câu 76: Đâu là đoạn mã xây dựng lớp NV với yêu cầu sau:

– thuộc tính: hsl

– phương thức: tính lương được nạp chồng theo hai cách, lương không có phụ cấp và lương có phụ cấp ( = hsl * 1500000 hoặc = (hsl+pc) * 1500000

a. public class NV {

float hsl, pc;

float luong1, luong2;

float tinhluong( ) {

luong1 = hsl*1500000;

luong2 = (pc+hsl)*1500000;

}

}

b. public class NV {

float hsl;

float pc;

float tinhluong1( ) {

return hsl * 1500000; }

float tinhluong2( ) {

return (hsl+pc) * 1500000; }

}

c. public class NV {

float hsl;

float tinhluong( ) {

return hsl * 1500000; }

float tinhluong( float pc) {

return (hsl+pc) * 1500000; }

}

d. public class NV {

float tinhluong( float hsl ) {

return hsl * 1500000; }

float tinhluong( float hsl, float pc) {

return (hsl+pc) * 1500000; }

}

Câu 77: Để thêm lần lượt 03 mục cho List như hình minh hoạ thì đoạn mã là gì?

a. colorList = new List(3, false); colorList.add(“Black”);

colorList.add(“Yellow”);

colorList.add(“Green”);

b. colorList = new List(3, false);

colorList.add(“Green”);

colorList.add(“Black”);

colorList.add(“Yellow”);

c. colorList = new List(3, false);

colorList.add(“Yellow”);

colorList.add(“Black”);

colorList.add(“Green”);

d. colorList = new List(3, false);

colorList.add(“Yellow”);

colorList.add(“Green”);

colorList.add(“Black”);

Câu 78: Đoạn mã để xây dựng lớp GIAOVIEN theo sơ đồ:

a. public class GIAOVIEN extends NHANSU

{

private float luongThang;

public void nhap()

{

Scanner sc = new Scanner(System.in);

NHANSU.nhapNS();

System.out.print(“Luong thang:”);

luongThang = sc.nextFloat();

}

public void xuat()

{

NHANSU.xuatNS();

System.out.print(“\n Luong:”+luongThang);

}

}

b. public class GIAOVIEN extends NHANSU{

private float luongThang;

public GIAOVIEN( )

{

super( );

luongThang = 0;

}

public GIAOVIEN( String ht, int ns, String qq, float lt)

{

super(ht, ns, qq);

luongThang = lt;

}

public void hienthi()

{

super.hienthi();

System.out.print(“\n Luong:”+luongThang);

}

}

c. public class GIAOVIEN

{

private float luongThang;

public void nhap()

{

Scanner sc = new Scanner(System.in);

System.out.print(“Luong thang:”);

luongThang = sc.nextFloat();

}

public void xuat()

{

System.out.print(“\n Luong:”+luongThang);

}

}

d. public class GIAOVIEN

{

private String hoTen;

private String queQuan;

private int namSinh;

private float luongThang;

public void nhap()

{

Scanner sc = new Scanner(System.in);

System.out.print(“\n Ho ten:”);

hoTen = sc.nextLine();

System.out.print(“Que quan:”);

queQuan = sc.nextLine();

System.out.print(“Nam sinh:”);

namSinh = sc.nextInt();

System.out.print(“Luong thang:”);

luongThang = sc.nextFloat();

}

public void xuat()

{

System.out.print(“\n Ho ten:” + hoTen);

System.out.print(“\n Que quan:” + queQuan);

System.out.print(“\n Nam Sinh:” + namSinh);

System.out.print(“\n Luong:”+luongThang);

}

}

Câu 79: Đoạn mã để xây dựng lớp HOCSINH theo sơ đồ:

/

a. public class HOCSINH extends NHANSU

{

private float dTB;

public void nhap()

{

Scanner sc = new Scanner(System.in);

NHANSU.nhapNS();

System.out.print(“Diem TB:”);

dTB = sc.nextFloat();

}

public void xuat()

{

NHANSU.xuatNS();

System.out.print(“\n DTB:”+dTB);

}

b. public class HOCSINH extends NHANSU{
private float dTB;;
public HOCSINH(  )
{
super(  );
dTB = 0;
}
public HOCSINH( String ht, int ns, String qq, float dtb)
{
super(ht, ns, qq);
dTB = dtb;
}
public void hienthi()
{
super.hienthi();
System.out.print(“\n DTB:”+dTB);
}
}

c. public class HOCSINH

{

private float dTB;

public void nhap()

{

Scanner sc = new Scanner(System.in);

System.out.print(“Diem TB:”);

dTB = sc.nextFloat();

}

public void xuat()

{

System.out.print(“\n DTB:”+dTB);

}

}

d. public class HOCSINH

{

private String hoTen;

private String queQuan;

private int namSinh;

private float dTB;

public void nhap()

{

Scanner sc = new Scanner(System.in);

System.out.print(“\n Ho ten:”);

hoTen = sc.nextLine();

System.out.print(“Que quan:”);

queQuan = sc.nextLine();

System.out.print(“Nam sinh:”);

namSinh = sc.nextInt();

System.out.print(“Diem TB:”);

dTB = sc.nextFloat();

}

public void xuat()

{

System.out.print(“\n Ho ten:” + hoTen);

System.out.print(“\n Que quan:” + queQuan);

System.out.print(“\n Nam Sinh:” + namSinh);

System.out.print(“\n DTB:”+dTB);

}

}

Câu 80: Đoạn mã để xây dựng lớp HOCSINH theo sơ đồ:

a. public class HOCSINH extends NHANSU

{

private float dTB;

public void nhap()

{

Scanner sc = new Scanner(System.in);

NHANSU.nhapNS();

System.out.print(“Diem TB:”);

dTB = sc.nextFloat();

}

public void xuat()

{

NHANSU.xuatNS();

System.out.print(“\n DTB:”+dTB);

}

b. public class HOCSINH extends NHANSU{

private float dTB;;

public HOCSINH(  )

{

super(  );

dTB = 0;

}

public HOCSINH( String ht, int ns, String qq, float dtb)

{

super(ht, ns, qq);

dTB = dtb;

}

public void hienthi()

{

super.hienthi();

System.out.print(“\n DTB:”+dTB);

}

}

c. public class HOCSINH

{

private float dTB;

public void nhap()

{

Scanner sc = new Scanner(System.in);

System.out.print(“Diem TB:”);

dTB = sc.nextFloat();

}

public void xuat()

{

System.out.print(“\n DTB:”+dTB);

}

}

d. public class HOCSINH

{

private String hoTen;

private String queQuan;

private int namSinh;

private float dTB;

public void nhap()

{

Scanner sc = new Scanner(System.in);

System.out.print(“\n Ho ten:”);

hoTen = sc.nextLine();

System.out.print(“Que quan:”);

queQuan = sc.nextLine();

System.out.print(“Nam sinh:”);

namSinh = sc.nextInt();

System.out.print(“Diem TB:”);

dTB = sc.nextFloat();

}

public void xuat()

{

System.out.print(“\n Ho ten:” + hoTen);

System.out.print(“\n Que quan:” + queQuan);

System.out.print(“\n Nam Sinh:” + namSinh);

System.out.print(“\n DTB:”+dTB);

}

}

Câu 81: Đoạn mã sau đây thực hiện gì?

public class XuLyFile{

public void docFile(File f, ListArray<SV> lstSV)

throws FileNotFoundException, IOException, ClassNotFoundException

{

FileInputStream fin = new FileInputStream(f);

ObjectInputStream in = new ObjectInputStream(fin);

lstSV = (ArrayList)in.readObject();

in.close();

}

}

a. Thực hiện đọc danh sách sinh viên từ file vào lưu lại vào ArrayList lstSV

b. Thực hiện đọc thông tin của SV từ file vào đối tượng lstSV

c. Thực hiện lưu danh sách sinh viên (SV) với các SV được lưu trong ArrayList (lstSV) vào file

d. Thực hiện lưu thông tin của SV lstSV vào file

Câu 82: Đoạn mã sau đây thực hiện yêu cầu gì?

Random rd = new Random();

for(i=0;i<h;i++)

for(j=0;j<c;j++)

a[i][j] = rd.nextInt(100);

a. Nhập các phần tử nguyên cho mảng hai chiều a gồm h hàng và c cột

b. Nhập các phần tử nguyên ngẫu nhiên cho mảng hai chiều a

c. Tạo các số nguyên ngẫu nhiên trong phạm vi từ 0 đến 99 và được lưu vào mảng hai chiều a, với mảng a gồm h hàng và c cột

d. Tạo mảng các số nguyên ngẫu nhiên cho mảng a gồm h hàng và c cột

Câu 83: Đoạn mã sau thực hiện nhiệm vụ gì?

public class HCN {

int x, y;

public HCN( int xx, int yy)

{

x = xx; y = yy;

}

int dientichtrứng { return x * y; }

public static void main(String arg[])

{

HCN x = new HCN( 4, 5 );

System.out.print(“Ket qua:” + x.dientichtrứng);

}

}

a. Xây dựng lớp HCN có hai thuộc tính x, y. Lớp HCN có phương thức khởi tạo có tham số và phương thức tính chu vi hình chữ nhật = (x+y)*2). Áp dụng tạo ra HCN với giá trị hai thuộc tính lần lượt là 4 và 5. In ra màn hình chu vi của HCN là 18

b. Xây dựng lớp HCN có hai thuộc tính x, y. Lớp HCN có phương thức khởi tạo có tham số và phương thức tính diện tích hình chữ nhật (= x* y). Áp dụng tạo ra HCN với giá trị hai thuộc tính lần lượt là 4 và 5. In ra màn hình diện tích của HCN là 20

c. Xây dựng lớp HCN có hai thuộc tính x, y. Lớp HCN phương thức tính diện tích hình chữ nhật (= x* y). Áp dụng tạo ra HCN với giá trị hai thuộc tính lần lượt là 4 và 5. In ra màn hình diện tích của HCN là 20

d. Xây dựng lớp HCN. Áp dụng tạo ra HCN với giá trị hai thuộc tính lần lượt là 4 và 5. In ra màn hình diện tích của HCN là 20

Câu 84: Đoạn mã sau thực hiện nhiệm vụ gì?

public class NV {

float hsl;

public NV( float xx) { hsl = xx; }

public NVtrứng { hsl = 0; }

float tinhluongtrứng { return hsl * 1500000; }

float tinhluong( float pc) { return (hsl+pc) * 1500000; }

public static void main(String arg[])

{

NV x = new NV( );

System.out.print(“1. Ket qua:” + x.tinhluongtrứng);

System.out.print(“2. Ket qua:” + x.tinhluong( 1 ));

}

}

a. Xây dựng lớp NV thoả mãn yêu cầu sau:

– thuộc tính: hsl

– phương thức: khởi tạo không có tham số, khởi tạo có tham số, tính lương không có phụ cấp ( = hsl * 1500000); tính lương có phụ cấp (= (hsl + pc)*1500000

b. Xây dựng lớp NV thoả mãn yêu cầu sau:

– thuộc tính: hsl

– phương thức: tính lương không có phụ cấp ( = hsl * 1500000); tính lương có phụ cấp (= (hsl + pc)*1500000

c. Xây dựng lớp NV thoả mãn yêu cầu sau:

– thuộc tính: hsl, pc

– phương thức: Khởi tạo có tham số, khởi tạo không có tham số, tính lương không có phụ cấp ( = hsl * 1500000); tính lương có phụ cấp (= (hsl + pc)*1500000

d. Xây dựng lớp NV thoả mãn yêu cầu sau:

– thuộc tính: hsl, pc

– phương thức: tính lương không có phụ cấp ( = hsl * 1500000); tính lương có phụ cấp (= (hsl + pc)*1500000

Câu 85: Đoạn mã sau thực hiện yêu cầu gì:

Scanner sc = new Scanner(System.in);

String ht;

int tuoi;

Sysem.out.print(“Nhap ho ten:”);

ht = sc.nextLine();

System.out.print(“Nhap tuoi:”);

tuoi = sc.nextInt();

a. Thực hiện in họ tên và tuổi lên màn hình

b. Thực hiện nhập Họ tên và tuổi từ bàn phím

c. Thực hiện nhập Họ tên và tuối, với họ tên là một chuỗi ký tự và tuổi là một số nguyên

d. Thực hiện nhập vào một chuỗi ký tự và một số nguyên từ bàn phím

Câu 86: Dòng lệnh nào sau đây tạo ra một TextField có thể hiển thị tối đa 10 ký tự, giá trị khởi đầu là “hello”?

a. TextField tf1 = new TextField(“hello”,10);

b. TextField tf1 = new TextFiled(“hello”);

c. textField tf1 = new textFiled(“hello”,10);

d. TextField tf1 = new TextFiled(10);

Câu 87: Dòng lệnh sau đây có nghĩa là gì?

Frame frame = new Frame(“Example on Frame”);

frame.setSize(500,500);

a. Tạo Frame được đặt tại vị trí toạ độ (500,500) của màn hình

b. Tạo Frame với tiêu đề “Example on Frame” và kích thước là 500×500

c. Tạo Frame với tiêu đề là “Example on Frame” và đặt tại vị trí toạ độ (500,500) của màn hình

d. Tạo Frame với tiêu đề là “Example on Frame”

Câu 88: Giả sử chúng ta có thể hiện e của bộ lắng nghe sự kiện TextEvent và thể hiện t của lớp TextArea. Cho biết cách để gắn bộ lắng nghe e vào t ?

a. addTextListener(e,t);

b. addTextListener(t,e);

c. e.addTextListener(t);

d. t.addTextListener(e);

Câu 89: Giả thiết có 3 lớp A, B và C với mô hình thừa kế: Lớp B thừa kế từ lớp A, Lớp C thừa kế từ lớp B. Trong thân các phương thức lớp C ta có thể truy cập trực tiếp đến các thành phần nào của lớp A?

a. Các thành phần mặc định

b. Các thành phần private

c. Các thành phần protected và public

d. Chỉ các thành phần public

Câu 90: Giả thiết lớp A được định nghĩa là lớp trừu tượng. Lệnh nào sau đây sẽ tạo đối tượng lớp A:

Lệnh 1: A a = new A();

Lệnh 2: A a = new A(<tham_số>);

a. Cả lệnh 1 và lệnh 2 đều đúng

b. Cả lệnh 1 và lệnh 2 đều sai

c. Lệnh 1

d. Lệnh 2

Câu 91: Giả thiết lớp A là lớp trừu tượng. Trong lớp A ta khai báo 2 phương thức sau:

– Phương thức 1: public abstract void nhap();

– Phương thức 2: private abstract void hien();

Khai báo phương thức nào là khai báo hợp lệ?

a. Cả hai khai báo phương thức là hợp lệ.

b. Cả hai khai báo phương thức là không hợp lệ.

c. Khai báo phương thức 1.

d. Khai báo phương thức 2.

Câu 92: Giả thiết lớp B thừa kế từ lớp A. Thứ tự thực hiện việc hủy bỏ (gom rác) đối tượng được thực hiện như thế nào?

a. Thực hiện theo thứ tự ngẫu nhiên.

b. Thực hiện trên lớp A trước rồi đến lớp B

c. Thực hiện trên lớp B trước rồi đến lớp A

Câu 93: Giả thiết lớp SONGUYEN đã được định nghĩa, ta khai báo mảng a và xin cấp phát vùng nhớ lưu trữ các phần tử của a bằng lệnh:

int n=3;

SONGUYEN [] a= new SONGUYEN [n];

Lúc này, Giá trị ngầm định của mỗi phần tử mảng đối tượng a là gì?

a. 0

b. 1

c. 3

d. null

Câu 94: Giả thiết trong lớp A có khai báo thuộc tính x (được gán bằng 10) và phương thức Test(). Trong phương thức Test() có khao báo 1 biến x (được gán bằng 5). Dòng lệnh sau (trong thân phương thức Test() sẽ in giá trị gì?

System.out.println(x);

a. In giá trị: 0

b. In giá trị: 10

c. In giá trị: 5

d. Lỗi biên dịch chương trình.

Câu 95: Giai đoạn nào trong các bước phân tích và phát triển một hệ thống phần mềm hướng đối tượng thực hiện: các kết quả của quá trình phân tích được mở rộng thành một giải pháp kỹ thuật.

a. Kiểm tra (Testing)

b. Lập trình (Programming)

c. Phân tích yêu cầu (Requirement analysis)

d. Thiết kế (Design)

Câu 96: Giai đoạn nào trong các bước phân tích và phát triển một hệ thống phần mềm hướng đối tượng thực hiện: đặc tả chi tiết kết quả của giai đoạn thiết kế?

a. Kiểm tra (Testing)

b. Lập trình (Programming)

c. Phân tích yêu cầu (Requirement analysis)

d. Thiết kế (Design)

Câu 97: Hàm (phương thức) nào của lớp không thể khai báo abstract?

a. Phương thức bình thường

b. Phương thức có kiểu khác void

c. Phương thức có phạm vị public

d. Phương thức final

Câu 98: Java được phát triển bắt đầu từ?

a. Intel

b. Microsoft

c. Oracle

d. Sun Microsystem

Câu 99: Kết quả khi thực hiện đoạn mã sau là gì?

public class HCN {

int x, y;

public HCN( int xx, int yy)

{

x = xx; y = yy;

}

int chuvi( ) { return (x + y) * 2; }

public static void main(String arg[])

{

HCN x = new HCN( 4, 5 );

System.out.print(“Ket qua:” + x.chuvi( ));

}

}

a. 18

b. 20

c. 9

d. Không in gì lên màn hình

Câu 100: Kết quả khi thực hiện đoạn mã sau là gì?

public class HCN {

int x, y;

public HCN( int xx, int yy)

{

x = xx; y = yy;

}

int dientich(  ) { return x * y; }

public static void main(String arg[])

{

HCN x = new HCN( 4, 5 );

System.out.print(“Ket qua:” + x.dientich(  ));

}

}

a. 18

b. 9

c. Ket qua: 20

d. Không in gì lên màn hình

Câu 101: Kết quả khi thực hiện đoạn mã sau là gì?

public class NV {

float hsl;

public NV( float xx) { hsl = xx; }

public NV( ) { hsl = 0; }

float tinhluong( ) { return hsl * 1500000; }

float tinhluong( float pc) { return (hsl+pc) * 1500000; }

public static void main(String arg[])

{

NV x = new NV( );

System.out.print(“1. Ket qua:” + x.tinhluong( ));

System.out.print(“2. Ket qua:” + x.tinhluong( 1 ));

}

}

a. 1. Ket qua: 0

2. Ket qua: 0

b. 1. Ket qua: 0

2. Ket qua: 1500000

c. 1. Ket qua: 1500000

2. Ket qua: 0

d. 1. Ket qua: 1500000

2. Ket qua: 1500000

Câu 102: Kết quả khi thực hiện đoạn mã sau là gì?

public class Vidu1 {

public Vidu1( )

{

System.out.print(“\n Xin chao ban!”);

}

public Vidu1( String x)

{

System.out.print(“\n Xin chao ban:” + x);

}

public static void main(String arg[])

{

Vidu1 x = new Vidu1( );

}

}

a. Không in gì ra màn hình

b. Le Hang

c. Xin chao ban!

d. Xin chao ban: Le Hang

Câu 103: Kết quả khi thực hiện đoạn mã sau là gì?

public class Vidu1 {

public Vidu1( )

{

System.out.print(“\n Xin chao ban:”);

}

public Vidu1( String x)

{

System.out.print(“\n Xin chao ban:” + x);

}

public static void main(String arg[])

{

Vidu1 x = new Vidu1(“Le Hang” );

}

}

a. Le Hang

b. Thông báo: Moi ban nhap ten

c. Xin chao ban: Le Hang

d. Xin chao ban:

Câu 104: Khai báo nào là đúng trong các khai báo đối tượng ServerSocket sau:

a. ServerSocket server = new ServerSocket(int,int,InetAddress);

b. ServerSocket server = new ServerSocket(int,int,int);

c. ServerSocket server = new ServerSocket(int,String,int);

d. ServerSocket server = new ServerSocket(String,int,int);

Câu 105: Khai báo nào là không hợp lệ?

a. double d = 45.0;

b. float f = 45.0;

c. int i = 32;

d. String s=””;

Câu 106: Khai báo nào sau đây là khai báo của phương thức trừu tượng (abstract)?

a. public abstract add();

b. public abstract void add() {}

c. public abstract void add();

d. public virtual add();

Câu 107: Khi các thành viên trong lớp cơ sở trùng tên với các thành viên mới trong lớp dẫn xuất thì chúng ta sử dụng từ khóa nào để truy cập xử lý các thành viên lớp cơ sở?

a. Từ khóa abstract

b. Từ khóa extends

c. Từ khóa implements

d. Từ khóa super

Câu 108: Khi có nhiều component được gắn các bộ lắng nghe của cùng một loại sự kiện thì component nào sẽ nhận được sự kiện đầu tiên?

a. Component cuối cùng được gắn bộ lắng nghe sự kiện.

b. Component đầu tiên được gắn bộ lắng nghe sự kiện.

c. Không thể có nhiều hơn một bộ lắng nghe cho cùng một loại sự kiện.

d. Không thể xác định component nào sẽ nhận trước.

Câu 109: Khi định nghĩa 1 lớp, ta có thể nạp chồng hàm tạo hay không?

a. Có thể

b. Không thể

Câu 110: Khi một phương thức được khai báo là abstract thì lớp chứa nó cũng phải là một lớp abstract, đúng hay sai?

a. Đúng

b. Sai

c. Tùy tình huống

Câu 111: Khi người sử dụng kéo chuột (di chuyển chuột trong khi vẫn ấn nút trái) trên một java applet Java tự động gọi phương thức nào?

a. mouse Move();

b. mouseDown();

c. mouseDrag();

d. mouseUp();

Câu 112: Kiểu dữ liệu byte có phạm vi trong khoảng nào?

a. (-128) đến 127

b. (-256) đến 255

c. (-32,768) đến 32,767

d. 0 đến 65535

Câu 113: Loại socket nào trong java sử dụng giao tiếp không kết nối, phương thức UDP (User Datagram Protocol).

a. datagram socket

b. stream socket

Câu 114: Lớp java.applet.Applet kế thừa từ lớp nào?

a. java.awt.Component;

b. java.awt.Graphics;

c. java.net.ServerSocket;

d. java.security.*;

Câu 115: Lớp trừu tượng thường có ít nhất bao nhiêu phương thức trừu tượng?

a. 1 phương thức trừu tượng.

b. 2 phương thức trừu tượng.

c. 3 phương thức trừu tượng.

d. Tất cả các phương thức phải là phương thức trừu tượng.

Câu 116: Một chương trình nguồn java được ghi vào tệp có phần mở rộng của tên tệp là?

a. .C

b. .class

c. .h

d. .java

Câu 117: Một class muốn thực thi được trong một thread riêng thì phải implements interface nào?

a. Executable

b. Run

c. Runnable

d. Threadable

Câu 118: Một giao diện có thể là giao diện cho bao nhiêu lớp đối tượng có cùng mục đích tương tác?

a. 1 lớp

b. 2 lớp

c. 3 lớp

d. Nhiều lớp

Câu 119: Một giao diện có thể thực thi những phương thức nào?

a. Các phương thức abstract.

b. Các phương thức hủy.

c. Các phương thức tạo.

d. Không phương thức nào.

Câu 120: Một lớp bình thường trong java có bao nhiêu biến ẩn this?

a. 1 biến this

b. 2 biến this

c. 3 biến this

d. 4 biến this

Câu 121: Một lớp khi hiện thực 1 giao diện (sử dụng từ khóa implements) cần phải hiện thực những phương thức nào của giao diện đó?

a. Các phương thức tạo lập và hủy bỏ.

b. Các phương thức tạo lập.

c. Các phương thức trừu tượng.

d. Tất cả các phương thức.

Câu 122: Một lớp lồng (nested class) có thể truy cập đến các thành viên của lớp bao bên ngoài hay không?

a. Chỉ có thể với các thành viên protect

b. Chỉ có thể với các thành viên public

c. Có thể

d. Không thể

Câu 123: Một lớp nếu ta muốn đảm bảo rằng không ai được tạo đối tượng thuộc lớp đó thì nên xây dựng lớp đó là?

a. Lớp cha (lớp cơ sở)

b. Lớp con (lớp dẫn xuất).

c. Lớp độc lập.

d. Lớp trừu tượng.

Câu 124: Một thông điệp (messages) bao gồm các thành phần nào?

a. Đối tượng (Object), phương thức (Method), tham số (Parameter)

b. Đối tượng (Object), phương thức (Method), thuộc tính (Property)

c. Phương thức (Method), hàm (function) tự do trong chương trình.

d. Thuộc tính (Property), tham số (Parameter), phương thức (Method)

Câu 125: Nếu các lớp đối tượng có chung một số đặc điểm và được xem như có quan hệ “là” (is a) với lớp đối tượng khác thì các lớp này có đặc trưng gì trong các đặc trưng cơ bản của lập trình hướng đối tượng?

a. Tính che giấu thông tin

b. Tính đa hình

c. Tính đóng gói

d. Tính kế thừa

Câu 126: Nếu tại lớp cơ sở có phương thức được nạp chồng, trong lớp dẫn xuất ta có thể ghi đè cho phương thức này?

a. Có thể ghi đè nếu kiểu trả về của phương thức là đối tượng lớp khác.

b. Có thể ghi đè nếu kiểu trả về của phương thức là void.

c. Có thể ghi đè nếu phạm vi truy nhập của phương thức là public.

d. Không thể ghi đè.

Câu 127: Ngôn ngữ nào sau đây không phải ngôn ngữ lập trình hướng đối tượng?

a. C#

b. C++

c. java

d. Pascal

Câu 128: Những chức năng giao tiếp mạng căn bản trong Java được bao hàm trong các lớp và giao diện thuộc gói nào?

a. java.awt

b. java.io

c. java.net

d. java.security

Câu 129: Phát biểu “chương trình được chia nhỏ thành các chương trình con riêng rẽ (còn gọi là hàm hay thủ tục) thực hiện các công việc cụ thể trong ứng dụng” nói về phương pháp lập trình nào?

a. Lập trình hướng đố tượng

b. Lập trình thủ tục

c. Lập trình tuyến tính

d. Tất cả các phương án đều đúng

Câu 130: Phương pháp phân tích hướng đối tượng là phương pháp phân tích:

a. Tất cả các phương án đều sai

b. Từ dưới lên (bottom-up)

c. Từ trên xuống (top-down) hoặc từ dưới lên (bottom-up)

d. Từ trên xuống (top-down)

Câu 131: Phương thức nào được dùng để lấy về một URL của Applet file?

a. getAppletBase();

b. getCodeBase();

c. getDocumentBase();

d. getParameter();

Câu 132: Phương thức nào được sử dụng trong việc khởi tạo đối tượng để cung cấp cho applet?

a. destroy()

b. init()

c. start()

d. stop()

Câu 133: Phương thức nào không có trong giao diện (interface) java.applet.AudioClip khi làm việc với âm thanh trong ứng dụng applet?

a. loop();

b. play();

c. resize();

d. stop();

Câu 134: Quá trình nào có thể thực hiện nhiều lần trong vòng đời của applet?

a. destroy()

b. init()

c. start()

d. stop()

Câu 135: Sau khi một chương trình nguồn java được dịch, phần mở rộng của tệp kết quả là gì?

a. .class

b. .h

c. .java

d. >java

Câu 136: Sử dụng toán tử nào để sinh đối tượng từ lớp cho việc sử dụng, khai thác và xử lý?

a. Toán tử case

b. Toán tử continue

c. Toán tử new

d. Toán tử while

Câu 137: Ta sử dụng toán tử nào để truy xuất thuộc tính và phương thức của đối tượng trong java?

a. Toán tử “&”

b. Toán tử “.”

c. Toán tử “|”

d. Toán tử “->”

Câu 138: Tên phương thưc dùng để start một thread?

a. init();

b. run();

c. sleep();

d. start();

Câu 139: Thành phần GUI nào trong các thành phần sau mà applet không sử dụng được như với ứng dụng windows?

a. Buttons

b. Labels

c. Lists

d. Menu

Câu 140: Thành phần nào là thành phần (dưới dạng các biến – variables) trong đối tượng để mô tả thông tin dữ liệu hay trạng thái (states) của đối tượng?

a. Đối tượng

b. Phương thức

c. Tất cả các phương án đều đúng

d. Thuộc tính

Câu 141: Thành phần nào là thành phần (dưới dạng các hàm) trong đối tượng để mô tả hành vi (behavior) hay khả năng xử lý của đối tượng?

a. Đối tượng

b. Phương thức

c. Tất cả các phương án đều đúng

d. Thuộc tính

Câu 142: Thuộc tính của lớp có thể có kiểu là chính lớp đó hay không?

a. Có

b. Không

Câu 143: Tính chất (đặc trưng) nào trong lập trình hướng đối tượng đề cập đến thiết lập cơ chế về khả năng truy xuất xử lý đến các thành phần của lớp đó hay được gọi là phạm vi tác động (scope)?

a. Tính che giấu thông tin

b. Tính đa hình

c. Tính đóng gói

d. Tính kế thừa

Câu 144: Tính chất (đặc trưng) nào trong lập trình hướng đối tượng nhằm che đi những chi tiết phức tạp bên trong của đối tượng?

a. Tính che giấu thông tin

b. Tính đa hình

c. Tính đóng gói

d. Tính kế thừa

Câu 145: Trong 3 lớp đối tượng sau thì các lớp nào đáp ứng đặc trưng kế thừa trong lập trình hướng đối tượng: lớp Sách, lớp Ô tô và lớp Tạp chí.

a. Lớp Sách và lớp Ô tô

b. Lớp Sách và lớp Tạp chí

c. Lớp Tạp chí và lớp Ô tô

d. Tất cả các phương án đều đúng

Câu 146: Trong các ngôn ngữ lập trình: C++, Assembly, Pascal, SmallTalk thì các ngôn ngữ nào là thuần hướng đối tượng giống Java?

a. Ngôn ngữ Assembly

b. Ngôn ngữ C++

c. Ngôn ngữ Pascal

d. Ngôn ngữ SmallTalk

Câu 147: Trong hàm tạo bất kỳ của lớp có thể gọi tới các hàm tạo khác của lớp đó hay không?

a. Chỉ gọi được duy nhất hàm tạo không đối của lớp.

b. Chỉ gọi được nhiều nhất 1 hàm tạo khác.

c. Có thể gọi tất cả các hàm tạo khác.

d. Không gọi được hàm tạo khác.

Câu 148: Trong một lớp (class) bất kỳ, ta có thể định nghĩa bao nhiều hàm tạo?

a. 1 hàm tạo

b. 2 hàm tao (không đối và có đối)

c. Nhiều hàm tạo

Câu 149: Trong một ứng dụng applet ta có thể làm việc với dữ liệu multiMedia hay không?

a. Có

b. Không

Câu 150: Trong ngôn ngữ java các từ khóa import, for, while, case, return, break và continue, những từ khóa nào cho phép viết cả bằng chữ hoa lẫn chữ thường?

a. Không từ khóa nào.

b. Từ khóa break, continue

c. Từ khóa case

d. Từ khóa for và while

Câu 151: Trong sơ đồ kế thừa sau, đâu là lớp được gọi là Lớp Cơ sở

a. Lớp GiaoVien

b. Lớp HocSinh và GiaoVien

c. Lớp HocSinh

d. Lớp NhanSu

Câu 152: Trong sơ đồ kế thừa sau, đâu là lớp được gọi là Lớp Dẫn xuất

a. Lớp GiaoVien

b. Lớp HocSinh và GiaoVien

c. Lớp HocSinh

d. Lớp NhanSu

Câu 153: Trong trường hợp một phương thức không có giá trị trả về, ta dùng từ khóa gì?

a. Không khai báo từ khóa

b. Từ khóa Default

c. Từ khóa Null

d. Từ khóa void

Câu 154: Trong ứng dụng applet, phương thức nào không được hỗ trợ (không thực hiện được) của lớp Graphics?

a. drawArc(tham_số);

b. drawByte(tham_số);

c. drawChars(tham_số);

d. drawCircle(tham_số);

Câu 155: Từ khóa nào được dùng để khai báo kế thừa trong java?

a. abstract

b. extends

c. imlements

d. inheritance

Câu 156: Từ khóa nào được dùng để khai báo lớp A kế thừa từ lớp B và lớp C trong java?

a. abstract

b. extends

c. Java không hỗ trợ kiểu đa kế thừa này.

d. virtual

Câu 157: Từ khóa nào được dùng để khai báo lớp A là lớp trừu tượng trong java?

a. abstract

b. extends

c. implements

d. virtual

Câu 158: Từ khóa nào được dùng để triển khai một lớp từ một giao diện (interface) trong java?

a. abstract

b. extends

c. implements

d. interface

Câu 159: Từ khóa nào được sử dụng để báo cho chương trình dịch java biết đây là một lớp hằng, không thể kế thừa?

a. abstract

b. final

c. private

d. protected

Câu 160: Từ khóa nào được sử dụng trong khai báo lớp nếu ta muốn gói khác có thể sử dụng được lớp này?

a. abstract

b. private

c. protected

d. public

Câu 161: Từ khóa nào trong khai báo phương thức của lớp cho phép chương trình thực hiện đa luồng (multi threads)?

a. abstract

b. interface

c. native

d. synchronized

Câu 162: Từ khóa nào xác định các phương thức được sử dụng (truy cập) trong lớp con nhưng không thể khai báo nạp chồng được?

a. extends

b. final

c. implements

d. private

Câu 163: Từ khóa nào xác định các thuộc tính hay phương thức chỉ được truy nhập trong phạm vi lớp cha và lớp con được dẫn xuất từ lớp cha. các lớp ngoài lớp cha đều không truy nhập được?

a. extends

b. private

c. protected

d. public

Câu 164: Từ khóa nào xác định các thuộc tính hay phương thức được truy nhập trong phạm vi lớp cha, lớp con và các lớp ngoài lớp cha đều truy nhập được?

a. extends

b. private

c. protected

d. public

Câu 165: Từ khóa nào xác định lớp ta đang định nghĩa lớp kế thừa từ lớp khác?

a. abstract

b. extends

c. final

d. public

Câu 166: Từ vùng nhớ dành cho các thuộc tính của đối tượng được cấp phát ở đâu?

a. Trên heap

b. Trên stack

Câu 167: Applet có được phép gọi thực thi một tệp exe trên hệ thống client?

a. Có

a. Không

Câu 168: Dòng lệnh sau đây có nghĩa là gì?

Frame frame = new Frame(“Example on Frame”);

frame.setSize(500,500);

a. Tạo Frame với tiêu đề là “Example on Frame”

b. Tạo Frame được đặt tại vị trí toạ độ (500,500) của màn hình

c. Tạo Frame với tiêu đề là “Example on Frame” và đặt tại vị trí toạ độ (500,500) của màn hình

d. Tạo Frame với tiêu đề “Example on Frame” và kích thước là 500×500

Câu 169: Cho lớp HangHoa được xây dựng như sau:

public class HangHoa{

private String tenHH;

private int soLuong;

private float donGia;

public String getTenHH() {

return tenHH;

}

public void setTenHH(String name) {

this.tenHH = name;

}

public int getSoLuong() {

return soLuong;

}

public void setSoLuong(int sl) {

this.soLuong = sl;

}

public float getDonGia() {

return donGia;

}

public void setDonGia(float dg) {

this.donGia = dg;

}

}

Đâu là đoạn mã để tạo đối tượng HangHoa với giá trị lấy từ các điều khiển trên giao diện như hình:

a. private void getHangHoa( HangHoa hh ){

hh.setTenHH(txtTenHH.getText());

hh.setSoLuong(Integer.parseInt(txtSoLuong.getText()));

hh.setDonGia(Float.parseFloat(txtDonGia.getText()));

}

b. private HangHoa getHangHoa (  ){

HangHoa hh = new HangHoa();

hh.setTenHH(txtTenHH.getText());

hh.setSoLuong(Integer.parseInt(txtSoLuong.getText()));

hh.setDonGia(Float.parseFloat(txtDonGia.getText()));

return hh;

}

c. private HangHoa getHangHoa (  ){

HangHoa hh = new HangHoa();

hh.tenHH = txtTenHH.getText();

hh.soLuong = Integer.parseInt(txtSoLuong.getText());

hh.donGia = Float.parseFloat(txtDonGia.getText());

return hh;

}

d. private HangHoa getHangHoa (  ){

HangHoa hh = new HangHoa();

hh.tenHH = txtTenHH.getText();

hh.soLuong = txtSoLuong.getText();

hh.donGia = txtDonGia.getText();

return hh;

}

Câu 170: Khi truyền tham số cho applet, nếu không chỉ rõ tham số Name của đối tượng thì đối tượng sẽ có tên mặc định là gì?

a. Null

b. Applet

c. xâu rỗng

d. Default

Câu 171: Applet có được phép ghi lên hệ thống file của client?

a. Có

b. Không

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Giỏ hàng
Lên đầu trang