Nâng CaoJava iconJava

Diamond problem trong Java và cách Java xử lý?

Diamond problem: class kế thừa từ hai parent có cùng ancestor — không rõ phải gọi method của ai.

Java giải quyết:

  1. không cho multiple inheritance của class (chỉ một extends).
  2. Interface cho phép implement nhiều (resolve bằng explicit method override)

Với Java 8 default methods: nếu cả hai interface B và C implement cùng method, subclass phải override tường minh.

Thiết kế này loại bỏ ambiguity và ngăn lỗi resolution method lúc runtime.

Xem toàn bộ Java cùng filter theo level & chủ đề con.

Mở danh sách Java