Việc sử dụng giao diện mở rộng phổ biến nhất xảy ra khi giao diện mẹ không chứa bất kỳ phương thức nào. Ví dụ:giao diện MouseListener trong gói java.awt.event mở rộng java.util.EventListener, được định nghĩa là -
Ví dụ
package java.util; public interface EventListener {}
Giao diện không có phương thức nào được gọi là giao diện gắn thẻ. Có hai mục đích thiết kế cơ bản của giao diện gắn thẻ -
Tạo cha mẹ chung
Như với giao diện EventListener, được mở rộng bởi hàng chục giao diện khác trong Java API, bạn có thể sử dụng giao diện gắn thẻ để tạo một giao diện mẹ chung giữa một nhóm giao diện. Ví dụ:khi một giao diện mở rộng EventListener, JVM biết rằng giao diện cụ thể này sẽ được sử dụng trong một kịch bản ủy quyền sự kiện.
Thêm kiểu dữ liệu vào một lớp
Tình huống này là nguồn gốc của thuật ngữ gắn thẻ. Một lớp triển khai giao diện gắn thẻ không cần xác định bất kỳ phương thức nào (vì giao diện không có bất kỳ phương thức nào), nhưng lớp này trở thành một kiểu giao diện thông qua tính đa hình.