45 1 1MB
*. 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