Có sự khác biệt giữa
public class A extends AbstractB implements C
{...}
đấu với...
public class A extends AbstractB
{...}
abstract class AbstractB implements C
{...}
Tôi hiểu rằng trong cả hai trường hợp, lớp A sẽ kết thúc phù hợp với giao diện. Trong trường hợp thứ hai, AbstractBcó thể cung cấp triển khai cho các phương thức giao diện trong C. Đó có phải là sự khác biệt duy nhất?
Nếu tôi KHÔNG muốn cung cấp một triển khai cho bất kỳ phương thức giao diện nào AbstractB , tôi nên sử dụng kiểu nào? Việc sử dụng cái này hay cái kia có một số mục đích 'tài liệu' ẩn?