类、抽象类以及接口的区别(NO.1)
2010-03-05 23:50
162 查看
在谈类、抽象类以及接口之前,我们需要首先明白几个概念:
1、子类与父类
2、类中方法的继承及接口中方法的实现
3、子类对父类方法的重写
下面简单谈谈接口与抽象类以及普通的类的联系及区别
我们知道一个普通的类里边的方法必须有方法的实现方式,但在抽象类中方法可以有具体的实现方式也可以没有,而在接口中则是不能出现方法的实现方式。这是此三者的最明显区别,除此之外,他们三者还有几点区别,也是在我们写程序以及理解其特点时需要注意的:
1、接口里面没有提供任何具体实现,可以说是一个极度抽象的类,他允许你创建一个能够被向上转型为不止一种基类型的类,以此来实现多重继承。
2、接口中基本数据类型的数据成员,都默认为static和final,抽象类则不是
3、接口中没有属性,而且所有的方法都是抽象的,而抽象类可以有属性,而且可以有抽象方法,也可以有实现的方法。但两者都不能被实例化。
4、使用的时候,一个类可以继承多个接口,但只能继承一个抽象类。
5、抽象类, 再抽象也还属于类的范畴, 它能包含一个类能包含的任何东西; 而接口已经不属于类了, 它是类的抽象.
6、如果事先知道某种东西会成为基础类,那么第一个选择就是把它变成一个接口。 只有在必须使用方法定义或者成员变量的时候,才应考虑采用抽象类。
(初学,做个学习小结,望拍砖!!!)
1、子类与父类
2、类中方法的继承及接口中方法的实现
3、子类对父类方法的重写
下面简单谈谈接口与抽象类以及普通的类的联系及区别
我们知道一个普通的类里边的方法必须有方法的实现方式,但在抽象类中方法可以有具体的实现方式也可以没有,而在接口中则是不能出现方法的实现方式。这是此三者的最明显区别,除此之外,他们三者还有几点区别,也是在我们写程序以及理解其特点时需要注意的:
1、接口里面没有提供任何具体实现,可以说是一个极度抽象的类,他允许你创建一个能够被向上转型为不止一种基类型的类,以此来实现多重继承。
2、接口中基本数据类型的数据成员,都默认为static和final,抽象类则不是
3、接口中没有属性,而且所有的方法都是抽象的,而抽象类可以有属性,而且可以有抽象方法,也可以有实现的方法。但两者都不能被实例化。
4、使用的时候,一个类可以继承多个接口,但只能继承一个抽象类。
5、抽象类, 再抽象也还属于类的范畴, 它能包含一个类能包含的任何东西; 而接口已经不属于类了, 它是类的抽象.
6、如果事先知道某种东西会成为基础类,那么第一个选择就是把它变成一个接口。 只有在必须使用方法定义或者成员变量的时候,才应考虑采用抽象类。
(初学,做个学习小结,望拍砖!!!)
相关文章推荐
- interface 与abstract class(接口 与 抽象类)的特点以及区别,以及应用场景
- C++中的抽象类以及接口的区别联系
- C++中的抽象类以及接口的区别联系
- C++中的抽象类以及接口的区别联系
- <Java>接口与抽象类,区别以及使用场景
- 抽象类和接口的区别 以及选择抽象类和接口的应用场景
- 抽象类以及接口区别
- C++学习 C++中的抽象类以及接口的区别联系
- C++中的抽象类以及接口的区别联系
- php抽象类、接口 的用法,以及区别
- 抽象类和接口的区别以及使用场景
- 抽象类和接口以及二者的区别
- 接口的概述,使用以及其与抽象类,类的区别和用法
- 抽象类和接口的区别以及使用场景
- 浅析php中抽象类和接口的概念以及区别
- C++中的抽象类以及接口的区别联系
- 抽象类和接口的区别以及使用场景(记)
- Overload(重载)与Override(重写)的区别、super和this的区别,以及super和this的应用由哪些? 。3.接口与抽象类的区别、3.接口与抽象类的区别
- 浅析php中抽象类和接口的概念以及区别
- 抽象类和接口的区别以及使用场景(记)