首页 > 试题广场 >

Java的接口和C++的虚类的相同和不同处。

[问答题]
请说明Java的接口和C++的虚类的相同和不同处。
c++的虚类与java的抽象方法相同,其与接口的不同之处在于
(1)只能继承一个虚类,可以实现多个接口
(2)虚类中可以有构造方法,接口没有构造方法
(3)虚类中可以有非抽象方法,接口中必须都是抽象方法
(4)虚类的访问权限可以为pubic、private、protected和default,接口的访问权限只能是public
(5)虚类中的方法可以是pubic、private、protected和default的,接口中的方法只能是public和default的
他们的相同之处在于:都不能被实例化。

发表于 2019-03-31 10:43:47 回复(1)

C++虚类相当于java中的抽象类,与接口的不同处是:

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

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

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

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

5.一个抽象类中的方法可以是public、private、protected、default,接口中的方法只能是public和default修饰,实际上都是public的abstract方法

相同之处是:

都不能实例化。

 补充

接口是一类特殊的抽象类,是更抽象的抽象类,你可以这样理解。抽象类是一个不完整的类,接口只定义了一些功能。

发表于 2019-04-25 18:55:07 回复(1)
c++的虚类相当于java中的抽象类:
相同点:都不能实例化;
不同点:(1)抽象类可以有构造方法,接口没有构造方法;
(2)抽象类可以用private,protected,public,default修饰,接口只能用public来修饰;
(3)抽象类有抽象方法和非抽象方法,而接口只有抽象方法,接口是一种更特殊的抽象类;
(4)子类只能继承一个抽象类,但可以实现多个接口;
发表于 2019-07-25 11:56:08 回复(0)
由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。 与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是public static,所有方法默认情况下是public.一个类可以实现多个接口。
发表于 2019-05-02 00:54:09 回复(0)

相同之处

都不能实例化。

相同之处

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

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

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

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

5.一个抽象类中的方法可以是public、private、protected、default,接口中的方法只能是public和default修饰,实际上都是public的abstract方法

 补充

接口是一类特殊的抽象类,是更抽象的抽象类,你可以这样理解。抽象类是一个不完整的类,接口只定义了一些功能。

发表于 2019-04-25 22:56:12 回复(0)