抽象类和接口的区别
抽象类的特点:
- 抽象类一般在父类中使用,而它的子类实现父类中的抽象方法;
- 如果父类中有一个或多个抽象方法,那么父类必须为抽象类;
- 抽象类里的抽象方法没有任何方法体,子类要实现父类的所有抽象方法。如果没实现全部抽象方法,其子类必须为抽象类;
- 抽象类是用来继承的,不能被实例化;
- 抽象类里的抽象方法,只有在子类实现了才能使用;
- 抽象类里允许有抽象方法和普通方法;
- 抽象类里的普通方法可以被子类调用。
抽象类和接口的区别:
- 抽象类中有一个抽象方法或多个抽象方法;
- 如果抽象类的子类里有一个没有实现的抽象方法,那么这个类也是抽象类;
- 实现抽象类里的方法可以实现部分方法,也可以实现所有方法;
- 抽象类里可以有成员变量;
- 抽象类里可以有私有的方法和私有的成员变量。
- 接口中方法全部修饰为抽象方法;
- 接口里的方法全部被默认修饰为 public abstract 类型的;
- 接口里的变量都被默认修饰为 public static final 类型的,即常量;
- 接口里的方法必须要全部实现;
- 一个类可以实现一个接口,也可以实现多个接口;
- 类不能多继承,但可以通过接口来实现多层继承;接口既可以多层继承,也可以多继承。
还没有评论,来说两句吧...