抽象类和接口

相同点

  • 都不能实例化创建对象
  • 都可以包含抽象方法
 

两者区别

  • 一个类只能继承一个抽象类,而一个类却可以实现多个接口
  • 抽象类使用 abstract class 关键字声明,接口使用 interface 关键字声明
  • 抽象类可以有实例变量(使用private、public、protected等修饰词修饰),接口只能使用常量(public static final)
  • 接口侧重能干什么,强调能力;抽象类侧重怎么做,更多的是代码复用,强调共性

 

 

// 接口
public interface Animal {
    void eat();
    void sleep();
}

// 抽象类
public abstract class Dog implements Animal {
    @Override
    public void sleep() {
        System.out.println("Dog is sleeping");
    }
    // eat()依然没有实现,Dog还是抽象类
}

 

posted @ 2024-01-18 16:21  先娶国王后取经  阅读(15)  评论(0)    收藏  举报