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, AbstractB
có 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?