java面试题 接口和抽象类的区别是什么

  1. 接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始接口方法可以有默认实现),抽象类可以有非抽象的方法
  2. 接口中的实例变量默认是 final 类型的,而抽象类中则不一定
  3. 一个类可以实现多个接口,但最多只能实现一个抽象类
  4. 一个类实现接口的话要实现接口的所有方法,而抽象类不一定
  5. 接口不能用 new 实例化,但可以声明,但是必须引用一个实现该接口的对象 从设计层面来说,抽象是对类的抽
    象,是一种模板设计,接口是行为的抽象,是一种行为的规范。
    abstract class表示的是is a的关系,interface表示的是like a的关系。
    抽象类强调的是从属关系,把相同的东西提取出来,即重用;interface是为了把程序模块进行固定的契约,降低耦合。
上一篇:interface例化后,往resource pool中的存入与取出


下一篇:Java注解使用! 转载// 项目中页数这么用,已经很深入了