Trong Khoa học AP Computer lớp ngày hôm nay, tôi đã mã này:Tại sao có thể gọi phương thức trên phương thức giao diện Java? [So sánh]
Comparable x = 45;
Comparable y = 56;
System.out.println(x.compareTo(y));
Và đây là hợp lệ. Nó in 1 (hoặc -1, tôi quên cái nào), nhưng có thể so sánh chúng.
Tôi hiểu rằng các biến giao diện tham chiếu đến đối tượng của lớp thực hiện giao diện đó, nhưng điều không có ý nghĩa với tôi là cách biến giao diện có thể được gán một số nguyên và sau đó có phương thức được gọi. Đối tượng nào trong trường hợp này là phương thức compareTo() đang được gọi? Không có gì thậm chí còn được khởi tạo!