Java SE 8 Oracle Certified Associate 1Z0-808 - #13
1. Câu hỏi
2. Phân tích
Đây là 1 câu hỏi không quá khó nếu chịu khó đọc kỹ câu hỏi.
Khởi tạo đối tượng Message
msg = "Happy New Year!"
Phân tích kỹ đoạn code nó truyền đối tượng Message vào, bản chất của nó sẽ tạo 1 đối tượng mới tên m, cùng trỏ vào địa chỉ của đối tượng obj ở hàm main.
Code dòng 6 m = new Message();. Sau lệnh này 2 biến obj và m sẽ trỏ vào 2 đối tượng khác nhau, khi đó giá trị m thay đổi không ảnh hưởng giá trị obj ở bên ngoài.
Vậy sau khi thoát khỏi hàm change(), giá trị biến obj không thay đổi.
Lưu ý: nếu không có code dòng 6, thì giá trị biến obj sẽ bị thay đổi sau hàm change()
public static void change(Message m) { //Line n5
m = new Message(); //Line n6
m.msg = "Happy Holidays!"; //Line n7
}
Đáp án:
3. Kết luận
Bạn có thể gõ code vào IDE để chạy lại và kiểm tra Source cho câu hỏi
All rights reserved