抽象类与接口的异同点

抽象类和接口的相同点:

1.都不能被实例化

2.接口的实现类或抽象类的子类都只有实现了接口或抽象类中的方法后才能被实例化


不同点:

1.接口只有定义,其方法不能再接口中实现,只有实现接口的类才能实现接口中定义的方    法,而抽象类的方法可以再抽象类中被实现。

2.接口需要用implements实现,抽象类只能被继承(extends)。

3.设计理念不同,接口是"has - a ",抽象类是"is -a "

4.接口中定义的成员变量默认修饰符为public static final(静态不能被修改),而且必须      给其赋初值。抽象类可以有自己的数据成员变量,也可以有非抽象的成员变量,而且抽象类中的成员变量默认为default(本包可见)。抽象类中的方法前面有abstract修饰,不能用private、static、synchronize、native修饰,同时方法必须以分号结尾,不带花括号。


猜你喜欢

转载自blog.csdn.net/wanwu_fusu/article/details/80708435