I know that when a class extends another class, it will inherit all interfaces that it has implemented. In terms of best practices, does it make sense to declare again in subclass?
public interface LeggedCreature {
public int getLegCount();
}
public abstract class Animal implements LeggedCreature {
...
}
public class Dog extends Animal {
@Override public int getLegCount() { return 4; }
}
public class MutatedDog extends Dog {
@Override public int getLegCount() { return 6; }
}
Does that make more sense, or does the version below makes more sense?
public class MutatedDog extends Dog implements LeggedCreature {
@Override public int getLegCount() { return 6; }
}