您的位置:首页 > 其它

abstract,以及abstract抽象类与interface接口的区别

2017-09-29 12:16 246 查看
关于abstract的描述:

a) abstract用于修饰抽象类和抽象方法。

b) final修饰的类不能被继承,包括抽象类。

c) 抽象类不能被实例化,无法使用new关键字调用抽象类的构造器和创建抽象类的实例。

d) 若子类也为抽象类,就不必将抽象类方法全部实现。如果子类不是抽象类,子类必须实现父类的所有抽象方法。

abstract class 与 interface的区别:

a)抽象类可以有构造方法,接口不能有。

b) 抽象类中可以有普通成员变量,接口中没有普通成员变量。

c) 一个类可以实现多个接口,但只能继承一个抽象类。

d) java7中抽象类不可以包含静态方法,但是Java8中可以包含;接口中可以包含静态方法。

e)抽象类中的抽象方法访问类型可以使public,protected。但是接口中的抽象方法只能是public,变量也只能是public。

f )抽象类和接口都可以包含静态成员变量。

关于Java7与Java8的抽象类能不能有static方法:

Java7中:



Java8中(网友图):

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  抽象类