抽象类和接口的区别

1、抽象类: 

  • 抽象类不可以被实例化; 
  • 抽象类中可以没有抽象方法;可以拥有非抽象方法或者属性; 
  • 接口与抽象类中的抽象方法不能具体实现; 
  • 抽象类可以有构造函数; 
  • 抽象类中的成员变量可以被不同的修饰符来修饰; 

2、接口: 

  • 接口中不能有普通数据成员,只能够有静态的不能被修改的数据成员,final表示全局,static 表示不可修改,不用static final 修饰,会隐式的声明为static和final ; 
  • 接口中的方法一定是抽象方法,所以不用abstract修饰; 
  • 接口不能且它里面的方法只是一个声明必须用public来修饰没有具体实现的方法;
原文地址:https://www.cnblogs.com/huangjinyong/p/9515642.html