0

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 objm 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: image.png

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

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí