thể trùng lặp:
Which constructor is chosen when passing null?Khi được gửi đến một hàm tạo trong Java, giá trị "null" làm gì?
Gần đây tôi đi qua tò mò này trong khi mã hóa một vài ngày trở lại và dường như không thể tìm ra lý do tại sao những điều sau đây sẽ xảy ra:
Do lớp bên dưới
public class RandomObject{
public RandomObject(Object o){
System.out.println(1);
}
public RandomObject(String[] s){
System.out.println(2);
}
}
Khi cuộc gọi new RandomObject(null);
được thực hiện, đầu ra luôn là 2
bất kể thứ tự mà các nhà xây dựng đã được tạo ra. Tại sao null
tham chiếu đến mảng chuỗi thay vì đối tượng?
@guido câu hỏi khác liên quan đến 2 không '' '' '' '' ở đây với 'Object' là một khác biệt –