①定义的关键字不同:抽象类使用abstract定义;接口使用interface定义。
②继承或实现的关键字不同:抽象类使用extends继承;接口使用implements实现。
③子类扩展的数量不同:抽象类的子类,只能继承一个抽象类;接口的实现类可以有多个。
④属性的访问控制符不同:4种访问控制符(private,default,protected,public)都可修饰抽象类的属性;接口的属性访问控制符只能是public(接口的属性默认是 public static final 修饰)。
⑤方法的访问控制符不同:抽象类中的普通方法访问控制符无限制,抽象类中的抽象方法不能用 private修饰;接口中的方法控制符默认是public,且不能定义为其他。
⑥方法实现不同:抽象类中普通方法必需有方法体,抽象方法不能有方法体;接口中的普通方法不能有方法体,而static或default修饰的方法必需有方法体。
⑦静态代码块的使用不同:抽象类可以有静态代码块;接口不能有。
标签:区别,控制符,接口,修饰,抽象类,方法,public From: https://www.cnblogs.com/pingcode/p/16796547.html