Czy jest jakaś różnica między
public class A extends AbstractB implements C
{...}
przeciw...
public class A extends AbstractB
{...}
abstract class AbstractB implements C
{...}
Rozumiem, że w obu przypadkach klasa A będzie zgodna z interfejsem. W drugim przypadku AbstractBmoże zapewnić implementację metod interfejsu w C. Czy to jedyna różnica?
Jeśli nie chcesz, aby zapewnić implementację dla którejkolwiek z metod interfejsu w AbstractB , jaki styl powinienem używać ? Czy używanie jednego lub drugiego ma jakiś ukryty cel „dokumentacji”?