抽象类与其他内容的区别比较,与接口的相似及差别
2016-11-11 20:29
204 查看
对于抽象类而言,大多数的人都不太理解,它到底该如何的与其他的内容进行区分,接下来就具体分析下区别有哪些:
1、与具体类进行比较,抽象类的特殊之处:
(1)不能直接实例化,使用new运算符会导致错误的发生,虽然有一些变量可以抽象,但是变量的值必须为null或者含有对非抽象类的实例引用
(2)允许(但不要求)包含抽象成员
(3)不能被密封
2、与接口进行比较:
(1)接口只能定义各个方法的界面(方法名,参数列表,返回类型),不关心具体的细节。
(2)接口属于引用类型
3、接口与抽象类的相似之处:
(1)不能被实例化
(2)包含未实现的方法声明
(3)派生必须实现未实现的方法,抽象类是抽象方法
4、接口与抽象类的差别:
(1)类可以实现无限个接口,但仅能从一个抽象类(或任何其他类型)类继承,接口可用来解决多重继承问题
(2)抽象类中可以存在非抽象的方法,但是接口不能,并且接口中的方法只是一个用public修饰来声明而没有具体实现的方法
(3)抽象类的成员变量可被不同的修饰符修饰,而接口是静态常量
(4)抽象类是对象的抽象,而接口是一种行为规范
1、与具体类进行比较,抽象类的特殊之处:
(1)不能直接实例化,使用new运算符会导致错误的发生,虽然有一些变量可以抽象,但是变量的值必须为null或者含有对非抽象类的实例引用
(2)允许(但不要求)包含抽象成员
(3)不能被密封
2、与接口进行比较:
(1)接口只能定义各个方法的界面(方法名,参数列表,返回类型),不关心具体的细节。
(2)接口属于引用类型
3、接口与抽象类的相似之处:
(1)不能被实例化
(2)包含未实现的方法声明
(3)派生必须实现未实现的方法,抽象类是抽象方法
4、接口与抽象类的差别:
(1)类可以实现无限个接口,但仅能从一个抽象类(或任何其他类型)类继承,接口可用来解决多重继承问题
(2)抽象类中可以存在非抽象的方法,但是接口不能,并且接口中的方法只是一个用public修饰来声明而没有具体实现的方法
(3)抽象类的成员变量可被不同的修饰符修饰,而接口是静态常量
(4)抽象类是对象的抽象,而接口是一种行为规范
相关文章推荐
- 抽象类和接口区别比较
- C#的抽象类和接口,区别与相似
- 抽象类和接口区别比较
- 抽象类(Abstract) && 接口(Interface)区别比较
- C#两个知识点的补充 string与stringbuilder的区别以及深层机制 C#中接口与抽象类的比较以及各自适用的场景
- 20160720(B) 接口及其特点/接口中的成员/其他细节/使用接口和抽象类的例子/抽象类和接口的区别/
- C#的抽象类和接口,区别与相似
- interface(接口)与abstract class(抽象类)的区别;实例比较;
- Java学习之抽象类和接口区别比较
- 自认为讲的比较清楚的接口与抽象类的区别
- 抽象类与接口的区别 [转]
- 抽象类和接口的区别
- 抽象类和接口的区别,必须弄明白的
- java里抽象类和接口的区别
- Java中抽象类与接口的区别
- Java的接口和抽象类的区别
- 接口和抽象类的区别
- 抽象类与接口的区别
- 抽象类与接口的区别
- 接口和抽象类的区别