Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Kiểm tra OOP Java

Total questions: 17

Worksheet time: 12mins

Name
Class
Date
1.

Class và Object trong Java khác nhau như thế nào?

a)

Class là một phần của oop, object tạo ra class giúp đại diện cho một đối tượng cụ thể

b)

Object trong java không cần dựa trên Class nào cả

c)

Lớp và đối tượng trong Java là hoàn toàn giống nhau

d)

Class là một bản thiết kế cần nạp vào các giá trị để tạo thành Object

2.

Kế thừa và đa hình là những khái niệm quan trọng trong OOP, hãy chọn "những câu trả lời đúng" của chúng

a)

Kế thừa cho phép Class con kế thừa tất cả props của lớp cha, trong khi đa hình cho phép các Object cùng loại thực hiện cùng một method

b)

Kế thừa chỉ áp dụng cho các lớp con còn đa hình áp dụng cho cả lớp cha và lớp con

c)

Đa hình chỉ xuất hiện trong mối quan hệ cha con. khi con muốn dùng method của cha theo cách riêng của nó

d)

Kế thừa cho phép class con kế thừa tất cả props và method của class cha, trong khi đa hình cho phép các Object cùng loại sử dụng các method theo cách khác nhau tùy theo class con mà chúng thuộc về.

e)

đa hình bao gồm
Method overriding
và
Method overloading

3.

Tình đóng gói được thể hiện qua các modifier. vậy "những" mô tả nào của modifier là đúng ?

a)

public là modifer có phạm vi truy cập lớn nhất

b)

protected cho phép class cha truy cập vào prop của con

c)

default cho phép các class con kế thừa có thể truy cập thuộc tính của class cha

d)

static là access modifier cho phép tất cả các object có thể xài chung prop hoặc method với nhau

e)

final là non access modifier giúp một prop trở thành hằng số, và method mất đi khả năng đa hình

4.

abstract class là gì? chọn đáp án đúng?

a)

abstract class là class có abstract method

b)

abstract class chỉ được phép có abstract method mà thôi

c)

abstract class có thể dùng dể tạo ra object

d)

khi ta có abstract class thì chắc chắn sẽ phải có override method

e)

abstract class không thể kế thừa được

5.

Trong OOP, xử lý ngoại lệ (exception) là gì?

a)

Xử lý ngoại lệ trong OOP thật ra không quan trọng vì dù sao khi phát sinh lỗi thì ứng dụng vẫn sẽ vận hành

b)

Xử lý ngoại lệ để chặn các lỗi xảy ra trong quá trình viết code, giúp tránh việc crash ứng dụng trong quá trình vận hành

c)

xử lý ngoại lệ để xử lý các vấn đề phát sinh trong quá trình vận hành

d)

nếu không xử lý ngoại lệ, ứng dụng nếu có phát sinh vấn đề vẫn sẽ vận hành dù báo lỗi

6.

Override và Overload là gì ? chọn 'những' câu trả lời đúng ?

a)

Override và Overload là giống nhau đều liên quan nhiều method cùng tên cùng parameter.

b)

Override có thể diễn ra ở mọi nơi

c)

override diễn ra với mối quan hệ cha con, con và cha giống method và giống cả parameter

d)

Overload diễn ra trên cùng một class, khi chúng có cùng method nhưng khác nhau parameter. dẫn đến các cách sử dụng method khác nhau

e)

Cả Overload và Override đều là đa hình

7.

ta có:
class A { String name; }
class B extends class A { String nickname; }
chọn 'những' đáp án đúng

a)

khi ta:
A obj = new B();
thì obj sẽ có prop nickname

b)

Khi ta :
B obj = new B();
thì obj sẽ có prop name và nickname

c)

Khi ta :
B obj = new A();
thì obj sẽ có prop name

d)

khi ta:
B obj = new B();
thì ta sẽ truy cập được vào prop name và nickname

e)

khi ta:
A obj = new B();
thì ta sẽ truy cập được vào prop nickname

8.

String là phần quan trọng và đặc biệc của java, 'những' đáp án nào là đúng ?

a)

String a = "Hi";

String b = new String("Hi");
a.equalTo(b) là true

b)

String dùng để thay thế char trong java

c)

String a = "hi"
a.concat("B");

thì a sẽ là "hiB"

d)

String là immutable

e)

String a = "Hi";

String b = "Hi";
a == b là true

9.

Wrapper class trong Java có những vai trò gì?

a)

Integer a = 10;

int b = 10;

Integer c = 10;

a == b là true

b)

Wrapper class trong Java giúp chuyển đổi giữa primitive datatype và Object, cung cấp các method hữu ích và hỗ trợ tương tác với các cấu trúc dữ liệu khác nhau.

c)

Wrapper class trong Java không thể sử dụng để tương tác với các cấu trúc dữ liệu khác nhau. ta phải dùng method valueOf() để có thể lấy dữ liệu

d)

Wrapper class và primitive datatype có kích thước bằng nhau

e)

Integer a = 1000;

int b = 1000;

Integer c = 1000;

a == c là true

10.

Khi final thì sẽ thế nào ?

a)

final method vẫn được class con kế thừa bình thường như không có chuyện gì xảy ra

b)

khi final 1 props thì class con không thể truy cập được

c)

abstract method thì có thể final để tránh override lại.

d)

khi dùng final bắt buộc prop phải có giá trị và method phải có body

e)

final là một access modifier

11.

Interface là gì ?

a)

Interface chỉ chứa method không có prop nào

b)

Interface có prop nhưng không có method

c)

Interface có cả static prop và abstract method

d)

Interface có static final prop và abstract method

12.

Comparator và Comparable

a)

Comparator và comparable đều là abstract class có method compare

b)

trong comparator có 1 method duy nhất là compareTo

c)

Trong comparable có một method duy nhất là compare

d)

Comparator và comparable đều là interface

e)

Comparator có method compare
và Comparable có method compareTo

13.

Những phát biểu nào sau đây là sai với modifier

a)

modifier chia làm 4 nhóm

b)

final là một access-modifier

c)

static giúp method không phân bản

d)

một prop khi static thì phải viết hoa cả tên

14.

các Ý nghĩa của kế thừa là gì ?

a)

Kế thừa làm cho code trở nên giảm phức tạp hơn dễ bảo trì.

b)

Kế thừa cho phép tái sử dụng code

c)

Kế thừa cho phép chia sẻ mã giữa các đối tượng.

d)

Kế thừa là khôi phục lại trạng thái các class con như trước khi nhận cha

15.

phát biểu nào sau đây là đúng ?

a)

khi các prop của cha private thì các class con không thể kế thừa và truy cập

b)

một class abstract là 1 class có abs method hoặc không

c)

khi so sánh 1 object từ wrapper class và một datatype primitive tương ứng của nó phải thông qua .compareTo()

d)

anonymours dùng để tạo ra object từ 1 abstract class

16.

những phát biểu sai về string

a)
String có thể thay đổi
b)

String a = "hihi" , được lưu ở String pool

c)

Các phát biểu sai về string bao gồm: 1) String không thể thay đổi; 3) String không thể được nối.

d)
String có thể được nối
17.

class là gì ?

a)
Class là một kiểu dữ liệu trong lập trình hướng đối tượng.
b)
Class là một hàm trong lập trình
c)
Class là một biến trong lập trình
d)
Class là một kiểu dữ liệu trong lập trình thủ tục