WorksheetsKiểm tra OOP Java
Total questions: 17
Worksheet time: 12mins
Class và Object trong Java khác nhau như thế nào?
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ể
Object trong java không cần dựa trên Class nào cả
Lớp và đối tượng trong Java là hoàn toàn giống nhau
Class là một bản thiết kế cần nạp vào các giá trị để tạo thành Object
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
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
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
Đ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ó
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ề.
đa hình bao gồm
Method overriding
và
Method overloading
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 ?
public là modifer có phạm vi truy cập lớn nhất
protected cho phép class cha truy cập vào prop của con
default cho phép các class con kế thừa có thể truy cập thuộc tính của class cha
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
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
abstract class là gì? chọn đáp án đúng?
abstract class là class có abstract method
abstract class chỉ được phép có abstract method mà thôi
abstract class có thể dùng dể tạo ra object
khi ta có abstract class thì chắc chắn sẽ phải có override method
abstract class không thể kế thừa được
Trong OOP, xử lý ngoại lệ (exception) là gì?
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
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
xử lý ngoại lệ để xử lý các vấn đề phát sinh trong quá trình vận hành
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
Override và Overload là gì ? chọn 'những' câu trả lời đúng ?
Override và Overload là giống nhau đều liên quan nhiều method cùng tên cùng parameter.
Override có thể diễn ra ở mọi nơi
override diễn ra với mối quan hệ cha con, con và cha giống method và giống cả parameter
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
Cả Overload và Override đều là đa hình
ta có:
class A { String name; }
class B extends class A { String nickname; }
chọn 'những' đáp án đúng
khi ta:
A obj = new B();
thì obj sẽ có prop nickname
Khi ta :
B obj = new B();
thì obj sẽ có prop name và nickname
Khi ta :
B obj = new A();
thì obj sẽ có prop name
khi ta:
B obj = new B();
thì ta sẽ truy cập được vào prop name và nickname
khi ta:
A obj = new B();
thì ta sẽ truy cập được vào prop nickname
String là phần quan trọng và đặc biệc của java, 'những' đáp án nào là đúng ?
String a = "Hi";
String b = new String("Hi");
a.equalTo(b) là true
String dùng để thay thế char trong java
String a = "hi"
a.concat("B");
thì a sẽ là "hiB"
String là immutable
String a = "Hi";
String b = "Hi";
a == b là true
Wrapper class trong Java có những vai trò gì?
Integer a = 10;
int b = 10;
Integer c = 10;
a == b là true
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.
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
Wrapper class và primitive datatype có kích thước bằng nhau
Integer a = 1000;
int b = 1000;
Integer c = 1000;
a == c là true
Khi final thì sẽ thế nào ?
final method vẫn được class con kế thừa bình thường như không có chuyện gì xảy ra
khi final 1 props thì class con không thể truy cập được
abstract method thì có thể final để tránh override lại.
khi dùng final bắt buộc prop phải có giá trị và method phải có body
final là một access modifier
Interface là gì ?
Interface chỉ chứa method không có prop nào
Interface có prop nhưng không có method
Interface có cả static prop và abstract method
Interface có static final prop và abstract method
Comparator và Comparable
Comparator và comparable đều là abstract class có method compare
trong comparator có 1 method duy nhất là compareTo
Trong comparable có một method duy nhất là compare
Comparator và comparable đều là interface
Comparator có method compare
và Comparable có method compareTo
Những phát biểu nào sau đây là sai với modifier
modifier chia làm 4 nhóm
final là một access-modifier
static giúp method không phân bản
một prop khi static thì phải viết hoa cả tên
các Ý nghĩa của kế thừa là gì ?
Kế thừa làm cho code trở nên giảm phức tạp hơn dễ bảo trì.
Kế thừa cho phép tái sử dụng code
Kế thừa cho phép chia sẻ mã giữa các đối tượng.
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
phát biểu nào sau đây là đúng ?
khi các prop của cha private thì các class con không thể kế thừa và truy cập
một class abstract là 1 class có abs method hoặc không
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()
anonymours dùng để tạo ra object từ 1 abstract class
những phát biểu sai về string
String a = "hihi" , được lưu ở String pool
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.
class là gì ?
