Java - Hãy chọn đáp án thể hiện kết quả đúng của đoạn chương trình cho sẵn dưới đây (câu hỏi 1)
Bài tập này yêu cầu chúng ta hãy chọn đáp án thế hiện kết quả đúng của đoạn chương trình cho sẵn dưới đây, giải thích vì sao có kết quả đó và sử dụng Eclipse để kiểm chứng.
package baitap; public interface Calculate { void cal(int item); }
package baitap; public class Display implements Calculate { int x; @Override public void cal(int item) { x = item * item; } }
package baitap; public class Test { public static void main(String[] args) { Display arr = new Display(); arr.x = 0; arr.cal(2); System.out.print(arr.x); } }
A | 0 |
B | 2 |
C | 4 |
D | Không có đáp án nào đúng trong 3 đáp án trên |
Bài giải
-------------------- ######## --------------------
Đáp án: C
Giải thích:
Trong đoạn chương trình trên, tôi tạo ra 1 Interface có tên là Calculate
, Interface này chỉ có 1 phương thức trừu tượng duy nhất là void cal(int item);
. Sau đó, tôi tạo thêm 1 lớp mới Display
implement Interface Calculate
và vì vậy phương thức cal()
sẽ được định nghĩa lại, phương thức này được dùng để tính bình phương giá trị item
. Cuối cùng, lớp Test
sẽ khởi tạo 1 đối tượng arr
của lớp Display
, trong phương thức này tôi sẽ khởi tạo giá trị thuộc tính x
của lớp Display
bằng 0 và gọi phương thức cal()
với giá trị truyền vào bằng 2. Kết quả là giá trị của biến x
sẽ bằng 22 = 4 và kết quả hiển thị ra màn hình sẽ là số 4. Lý do là vì trong Java các câu lệnh sẽ được thực hiện từ trên xuống dưới và kết quả của câu lệnh cuối cùng sẽ là kết quả chính của chương trình nên giá trị của biến x
sẽ bằng 4 chứ không phải bằng 0. Nếu ta thay đổi vị trí của 2 câu lệnh này cho nhau thì kết quả biên dịch chương trình sẽ bằng 0.
Kết quả biên dịch chương trình bằng Eclipse:
Bài viết này được đăng tại [free tuts .net]
Câu hỏi thường gặp liên quan:
- Java - Liệt kê sự khác nhau giữa Interface và lớp Abstract (lớp trừu tượng).
- Java - Interface và lớp trừu tượng được sử dụng trong những trường hợp nào?
- Java - Bạn hãy nêu lỗi của đoạn chương trình dưới đây và giải thích vì sao.
- Java - Hãy chọn đáp án thể hiện kết quả đúng của đoạn chương trình cho sẵn dưới đây (câu hỏi 1)
- Java - Hãy chọn đáp án đúng trong các đáp án cho sẵn của đoạn chương trình dưới đây (câu hỏi 2)