If two interfaces each declare a method with the same name and argument list, but different return types and/or incompatible exception declarations, then a single class may not implement both those interfaces. This is explicitly pointed out in the Java Language Specification. One thing you can do is implement just one interface, and use an "adapter" method to provide a "view" ...