Việc dùng extends interface phổ biến nhất khi interface cha không chứa phương thức nào. Ví dụ, MouseListener trong java.awt.event extends java.util.EventListener, được định nghĩa như sau:
Ví dụ
package java.util;
public interface EventListener {}
Interface không có phương thức gọi là tagging interface (interface gắn thẻ). Có hai mục đích thiết kế cơ bản của tagging interface:
Tạo common parent (cha chung)
Như EventListener được extends bởi hàng chục interface khác trong Java API, bạn có thể dùng tagging interface để tạo cha chung cho nhóm interface. Ví dụ, khi interface extends EventListener, JVM biết interface này sẽ dùng trong kịch bản event delegation.
Thêm kiểu dữ liệu cho class
Đây là nơi thuật ngữ "tagging" xuất phát. Class triển khai tagging interface không cần định nghĩa phương thức (vì interface không có), nhưng class trở thành kiểu interface thông qua polymorphism.