您的位置:首页 > 编程语言 > C语言/C++

java的接口和C++虚类的相同和不同之处

2015-07-18 16:35 260 查看
C++虚类相当于java中的抽象类,与接口的不同之处是:

1.一个子类只能继承一个抽象类(虚类),但能实现多个接口

2.一个抽象类可以有构造方法,接口没有构造方法

3.一个抽象类中的方法不一定是抽象方法,即其中的方法可以有实现(有方法体),接口中的方法都是抽象方法,不能有方法体,只有声明

4.一个抽象类可以是public、private、protected、default,接口只有public

5.一个抽象类中的方法可以是public、private、protected、default,接口中的方法只能是public和default



相同之处是:都不能实例化。



补充说明:接口是一类特殊的抽象类,是更抽象的抽象类,你可能这样理解。抽象类是一个不完整的类,接口只是定义了一些功能。打个比方,用抽象类和接口分别描述“狗”,抽象类就是在一般类之前加abstrict说:“猪能用四肢跑,猪和能这样或者那样...”,接口的话就只能说:“猪会跑,用什么跑就是子类来讲了”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: