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中(网友图):
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中(网友图):
相关文章推荐
- 抽象类abstract和接口interface的区别与深入思考
- the Differences between abstract class & interface in C#接口和抽象类的区别
- 抽象类(abstract)和接口(interface)的区别
- 虚方法virtual、抽象方法abstract、接口interface区别
- 抽象类(abstract)和接口(interface)的区别
- virtual、abstract、interface区别以及用法
- 抽象类abstract与接口interface的区别
- 抽象类abstract与接口interface的区别
- 抽象类合接口的区别 (abstract与interface)
- 抽象类(Abstract) && 接口(Interface)区别比较
- 抽象类(abstract)和接口(interface)的区别
- php 接口类:interface与abstract的区别
- PHP的接口类(interface)和抽象类(abstract)的区别
- abstract 和 interface 抽象类和接口的区别
- 类(class),抽象类(abstract), 接口(interface)的关系和区别
- 抽象类(abstract)与接口(interface)的区别?
- c#中抽象类(abstract)和接口(interface)的相同点跟区别
- 什么是接口?接口有哪些好处,抽象类(abstract)和接口(interface)的区别
- 抽象类(abstract)和接口(interface)的区别
- abstract抽象类和interface接口类区别?