If we have:
public interface Foo{}
public class Bar implements Foo{...}
Is there a difference between:
public class BarBar extends Bar implements Foo{..}
and
public class BarBar extends Bar{..}
I see a lot of code like this and it always confuses me. Does BarBar need to implement Foo? I mean since it extends Bar to begin with isn't that already there? I guess my question is, what purpose does implementing Foo in BarBar serve here?