Java中抽象类和接口的异同
相同处:
1. 都不可以被实例化。
2. 都包含抽象方法,实现接口或继承抽象类的普通子类必须实现这些抽象方法。
不同处:
1. 一个普通类可以实现多个接口,但是只能继承一个抽象类。
2. 抽象类中可以有普通方法和静态方法,接口中只能有抽象方法。
3. 抽象类中可以有普通变量、静态变量和静态常量,接口中只能有静态常量。
4. 抽象类中可以有构造器,接口中不能有构造器。
5. 抽象类可以有初始化块,接口中不存在初始化块。
仅是学习笔记,难免出错,望不吝指点
相同处:
1. 都不可以被实例化。
2. 都包含抽象方法,实现接口或继承抽象类的普通子类必须实现这些抽象方法。
不同处:
1. 一个普通类可以实现多个接口,但是只能继承一个抽象类。
2. 抽象类中可以有普通方法和静态方法,接口中只能有抽象方法。
3. 抽象类中可以有普通变量、静态变量和静态常量,接口中只能有静态常量。
4. 抽象类中可以有构造器,接口中不能有构造器。
5. 抽象类可以有初始化块,接口中不存在初始化块。