java中接口和抽象类的区别

抽象类:

  1. 有abstract修饰的类,肯定是抽象类。
  2. 抽象类中,可以有抽象方法,也可以没有抽象方法,但是有抽象方法的类一定是抽象类。
  3. 抽象类不能创建实例。
  4. 如果子类继承了抽象类,那么子类一定要实现父类中的抽象方法,否则子类也一定是抽象类。

接口: 

  1. 接口只能实现不能继承。相当于一个子类可以实现多个接口,但是只能继承一个父类。
  2. 如果实现了这个接口,那么该类就必须实现接口类中的接口方法。因为我们定义接口中的方法时,系统是默认这些方法是抽象的方法,也就是说这些方法是有public abstract这个来修饰的。
  3. 在接口中定义的变量必须是公共变量的,也就是说有public修饰的。

版权声明:本文为u012866694原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。