抽象类和接口的区别:
1、抽象类里可以没有抽象方法;
接口里全部方法都必须是抽象的
2、抽象类里可以有变量;接口中没有变量,全是final修饰的
3、接口中的常量(public static final) int a = 3;括号里的即使省略默认也是 public static final修饰的,a不可以被修改;抽象类里的变量不是这样。
4、一个类可以实现多个接口,但是一个类只能继承一个抽象类。
5、一个接口可以继承多个接口,抽象类只能继承一个抽象类
6、接口中的方法使用(public abstract)修饰,或者仅括号里任意一个修饰,即使省略默认仍然是public abstract修饰。不可以使用其他修饰符修饰,但是抽象类的方法修饰符不做限制。
8、实现类必须实现接口中的所有方法,但是实现类可以不实现抽象类的所有抽象方法,条件是此实现类也是一个抽象类。
9、抽象类中有构造方法、接口中没有
抽象类和接口的相同点:
1、抽象类和接口都不可以直接实例化。必须使用多态。(目前想到的只有这一个)
JAVA基础学习笔记之抽象类和接口
最新推荐文章于 2023-03-28 18:42:54 发布