Oop 300cau Key-1 [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

*. Trong các yêu cầu sau, yêu cầu nào là không bắt buộc đối với phương thức khởi tạo • Phải có cùng tên với lớp •

Phải có thân của phương thức (phần định nghĩa)



Không có giá trị trả về



Phải có mức độ truy cập là public

*. Chọn câu đúng • Lớp trừu tượng bắt buộc được khai báo với từ khóa “abstract” •

Lớp trừu tượng phải có phương thức trừu tượng



Lớp con của lớp trừu tượng phải là một lớp cụ thể



Lớp cụ thể có thể chứa phương thức trừu tượng

*. Từ khóa super được sử dụng để: • Gọi các phương thức khởi tạo và các phương thức khác của lớp cha nhưng câu lệnh super phải được thực hiện đầu tiên. •

Gọi các phương thức của lớp cha và các lớp cơ sở khác của một lớp.



Gọi phương thức khởi tạo và các phương thức khác của lớp cha.



Gọi phương thức khởi tạo và các phương thức không phải là “private” của lớp cha.

*. Khi tham số của phương thức là một tham chiếu đến đối tượng • Không thể thay đổi các giá trị của đối tượng đó. •

Chỉ thay đổi được các giá trị của đối tượng khi có các giao diện cho phép cập nhật các thuộc tính của đối tượng.



Không thể cho tham chiếu đấy trỏ đến một đối tượng khác

*. Khi tham số của phương thức là một tham chiếu đến đối tượng • Không thể thay đổi các giá trị của các thuộc tính của đối tượng đó. •

Có thể thay đổi được giá trị của các thuộc tính của đối tượng đó.



Tham chiếu đấy có thể trỏ đến một đối tượng khác sau khi phương thức thực hiện xong.

*. Chọn phát biểu đúng nhất • Phương thức static phải khai báo là public •

Phương thức static không được khai báo là private.



Phạm vi truy cập của phương thức static khai báo giống như những phương thức không phải là static (non-static).

*. Lớp B kế thừa từ lớp A. Câu lệnh A a = new B() cho kết quả: • Tham chiếu “a” có mọi hành vi của lớp B. •

Tham chiếu “a” có các hành vi tương ứng với các phương thức mà B kế thừa từ A.



Tham chiếu “a” có hành vi của lớp A.

*. Không thể tạo lớp dẫn xuất từ loại lớp nào sau? • abstract •

public



static



final

*. Khi một đối tượng thuộc lớp con được tạo ra, phương thức khởi tạo của lớp nào sẽ được thực hiện trước. • Phương thức khởi tạo của lớp cha •

Phương thức khởi tạo của lớp con



Không xác định được



Tùy vào đoạn mã tạo đối tượng lớp con đấy

*. Câu nào mô tả đúng nhất về phương thức trừu tượng • Là phương thức được khai báo và định nghĩa trong một lớp trừu tượng •

Là phương thức chỉ có phần khai báo



Là phương thức được viết lại (overriding) ở lớp con



Là phương thức có phần định nghĩa rỗng (chỉ gồm 2 ngoặc, không có câu lệnh nào)

*. Để chạy được chương trình java từ một lớp A (chọn câu đúng nhất) • A phải có phương thức main() •

Nếu A không có phương thức main(), A phải được kế thừa phương thức này



A chỉ cần một có một phương thức được khai báo là “public static”



Không câu nào ở trên đúng

*. Phương thức trong lớp trừu tượng • Có thể là phương thức thường và được định nghĩa đầy đủ. •

Luôn phải là phương thức trừu tượng.



Bắt buộc phải được định nghĩa lại tại lớp dẫn xuất.



Phạm vi truy cập phải là public.

*. Máy ảo Java • Dịch các tệp *.java thành *.class. •

Thực thi các chương trình Java *.class.



Có thể có nhiều máy ảo Java trên một máy tính.



Đóng vai trò trung gian giữa chương trình Java được thực thi và hệ điều hành.

*. Khi thực thi một phương thức m(obj), ngay sau khi phương thức thực thi xong • Giá trị của các thuộc tính của đối tượng obj trỏ đến không thể bị thay đổi. •

Tham chiếu obj có thể được trỏ đến một đối tượng khác.



Không thể cho tham chiếu obj trỏ đến một đối tượng khác.



Giá trị của các thuộc tính thuộc đối tượng obj trỏ đến có thể bị thay đổi.

*. Chọn các phát biểu đúng • Phương thức tĩnh (static) phải được khai báo là public. •

Phương thức tĩnh không được khai báo là private.



Phạm vi truy cập của phương thức tĩnh khai báo giống như những phương thức không phải là tĩnh (non-static).



Thuộc tính tĩnh bắt buộc phải là public.

*. Lớp B kế thừa từ lớp A. Sau câu lệnh A obj = new B() • Thông qua obj có thể gọi mọi phương thức public được định nghĩa trong B. •

Thông qua obj có thể gọi mọi phương thức public được định nghĩa trong A.



Nếu cả A và B có định nghĩa phương thức m, obj.m() được hiểu là phiên bản m được định nghĩa trong A.



Nếu cả A và B có định nghĩa phương thức m, obj.m() được hiểu là phiên bản m được định nghĩa trong B.

*. Chọn các câu mô tả đúng nhất về phương thức trừu tượng • Là phương thức được khai báo và định nghĩa trong một lớp trừu tượng. •

Là phương thức chỉ có phần khai báo.



Là phương thức được viết lại (overriding) ở lớp con.



Là phương thức có phần định nghĩa rỗng (chỉ gồm 2 ngoặc {}, không có câu lệnh nào).

*. Lớp B kế thừa từ lớp A. Giả sử có các tham chiếu A a và B b. • a=b luôn chạy được. •

b=a luôn chạy được.



a=(A)b chạy hiện được.



b=(B)a chạy hiện được.

*. Nếu lớp C kế thừa từ lớp B và lớp B kết thừa từ lớp A • Đối tượng lớp C chỉ có thể được chuyển kiểu lên (upcasting) đối tượng lớp B •

Đối tượng lớp C chỉ có thể được chuyển kiểu lên đối tượng của lớp A



Đối tượng lớp C có thể được chuyển kiểu lên đối tượng lớp A hoặc đối tượng lớp B



Đối tượng lớp C không thể chuyển kiểu lên được

*. Lớp B kế thừa từ lớp A. Tham chiếu đối tượng “a” trong hai câu lệnh: (i) A a = new B() và (ii) A a = (A) new B() có gì khác nhau hay không? • Khác nhau vì với (i) tham chiếu “a” có hành vi hoàn toàn của lớp A; với (ii) có hành vi lớp B.



Khác nhau vì với (i) tham chiếu “a” có mọi hành vi lớp B; với (ii) chỉ có hành vi lớp A.



Hoàn toàn giống nhau.

*. Chọn CÁC câu đúng • Phương thức được khai báo là final thì không thể bị cài đè (overriden) •

Lớp được khai báo final thì không thể có lớp con



Một lớp final thì không thể có lớp con là các lớp khác



Không thể thay đổi giá trị của biến final

*. Trong CÁC phát biểu sau, NHỮNG phát biểu nào đúng về lớp chứa phương thức trừu tượng? • Không thể khai báo phương thức khởi tạo trong lớp này •

Lớp này phải khai báo với từ khoá abstract



Không thể khai báo bất kỳ biến thực thể nào trong lớp này



Không thể tạo đối tượng từ chính lớp này

*. Chọn CÁC câu đúng. Nhận định nào đúng về RuntimeException và các lớp con của lớp đó? • IOException là lớp con của RuntimeException •

Người lập trình bắt buộc phải sử dụng khối try/catch cho RuntimeException



Nếu một phương thức ném một RuntimeException, việc sử dụng khối try/catch là không bắt buộc



Không thể bắt được RuntimeException bằng try/catch

*. Chọn CÁC câu đúng. Một lớp cài đặt giao diện IFace • Nếu lớp đó không cài đặt hết các phương thức trong Iface, lớp đó phải là lớp trừu tượng. •

Lớp đó phải cài đặt mọi phương thức trong Iface.



Lớp đó chỉ cần cài đặt ít nhất một phương thức trong Iface



Lớp đấy chỉ có thể có các phương thức được khai báo trong Iface.

*. Chọn CÁC câu đúng. Nếu lớp C kế thừa từ lớp B và lớp B kế thừa từ lớp A thì • Đối tượng lớp B có thể được chuyển kiểu lên (up-casting) đối tượng lớp A hoặc chuyển kiểu xuống (down-casting) đối tượng lớp C •

Đối tượng lớp B có thể được chuyển kiểu xuống (down-casting) đối tượng lớp A hoặc chuyển kiểu lên (up-casting) đối tượng lớp C



Đối tượng lớp B có thể được chuyển kiểu xuống (down-casting) đối tượng lớp A



Đối tượng lớp B có thể được chuyển kiểu lên (up-casting) đối tượng lớp A

*. Chọn CÁC câu đúng. Máy ảo Java (Java Virtual Machine) • Dịch các tệp *.java thành *.class •

Thực thi các chương trình Java *.class



Có thể có nhiều máy ảo Java trên một máy tính



Đóng vai trò trung gian giữa chương trình Java được thực thi và hệ điều hành

*. Các lời gọi phương thức trong Java đều là liên kết động • Đúng •

Sai

*. Nếu lớp con có phương thức trùng tên với một phương thức ở lớp cha, danh sách tham số của hai phương thức bắt buộc phải giống nhau • Đúng •

Sai

*. Một lớp là trừu tượng thì bắt buộc phải chứa phương thức trừu tượng • Đúng •

Sai

*. Phương thức khởi tạo của lớp cha sẽ được kế thừa ở lớp con • Đúng •

Sai

*. Trong cùng một lớp, nếu hai phương thức có cùng tên thì bắt buộc phải khác tham số • Đúng •

Sai

*. Giao diện (interface) phải khai báo ít nhất một phương thức • Đúng •

Sai

*. Trong Java, một lớp có thể có nhiều lớp cha và nhiều lớp con • Đúng •

Sai

*. Nếu lớp A không định nghĩa bất cứ phương thức khởi tạo nào, A sẽ được trình biên dịch cung cấp phương thức khởi tạo mặc định • Đúng •

Sai

*. Nếu phương thức String toString() được cài đặt bởi một lớp nào đó, phương thức này bắt buộc phải là public • Đúng •

Sai

*. Phương thức thực thể (instance method) có thể truy xuất các thuộc tính lớp (thuộc tính static) • Đúng •

Sai

*. Phương thức thực thể (instance method) có thể truy xuất các phương thức của lớp (phương thức static) • Đúng •

Sai

*. Phương thức khởi tạo không thể được khai báo với từ khóa private • Đúng •

Sai

*. Giao diện (interface) có thể không cần khai báo phương thức nào • Đúng •

Sai

*. Máy ảo Java sẽ biên dịch chương trình nguồn viết bằng ngôn ngữ Java thành bytecode • Đúng •

Sai

*. Một giao diện (interface) có thể kế thừa (extend) từ nhiều giao diện khác • Đúng •

Sai

*. Giao diện (interface) khai báo ít nhất một phương thức • Đúng •

Sai

*. Với Java, bất kỳ lớp nào do người lập trình định nghĩa cũng sẽ là lớp con của lớp Object • Đúng •

Sai

*. Quan hệ “has-a” được cài đặt bằng cơ chế kế thừa • Đúng •

Sai

*. Nếu lớp A cài đặt giao diện Iface nhưng không cài đặt hết các phương thức của IFace, A được xem là lớp trừu tượng • Đúng •

Sai

*. Khi chạy chương trình, kết quả là:



null



ArrayIndexOutOfBoundException



IndexOutOfBoundException



Lỗi khi dịch

*. Kết quả khi chạy chương trình?



Lỗi biên dịch



Lỗi thời gian chạy



0



Generic

*. Phương thức khởi tạo tại lớp dẫn xuất. • Không được kế thừa phương thức khởi tạo tại lớp cơ sở. •

Được kế thừa từ lớp cơ sở.



Luôn phải gọi phương thức khởi tạo tại lớp cơ sở.



Được kế thừa các phương thức khởi tạo không phải là “private” tại lớp cơ sở.

*. Một lớp luôn có thể tạo ra lớp con kế thừa (extends) từ nó? • Lớp luôn có lớp con kế thừa từ nó ngoại trừ lớp đó là “final” •

Luôn có lớp con kế thừa nếu lớp đó không phải lớp trừu tượng.



Luôn có lớp con kế thừa.



Các lớp khai báo là public luôn có lớp con kế thừa từ nó.

*. Chọn CÁC đáp án đúng. Tập hợp (collection) trong Java là gì? • Một nhóm các giao diện (interfaces) •

Một nhóm các đối tượng



Một nhóm các lớp

*. Đâu không phải là tên một mẫu thiết kế? • Polymorphism •

Singleton



Factory method



Decorator

*. Gói nào sau đây chứ các lớp tập hợp (collection)? • Java.lang •

Java.awt



Java.util



Java.net

*. Khi chạy chương trình, kết quả là



Lỗi biên dịch



12.0



Lỗi thời gian chạy



Kết quả khác

*. Mẫu thiết kế nào sau đây cho phép giới hạn số lượng đối tượng được tạo ra? • Adapter •

Singleton



Factory method



Decorator

*. Khai báo nào sau đây là sai? • Set