c++的虚函数与java接口的区别

chiphuo 2009-03-12 10:36:32
请说的详细一些,特别在原理和用法上。
...全文
624 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
weizhaozhe 2009-03-13
  • 打赏
  • 举报
回复
使用时区别很明显吧,接口中的函数就是虚函数的一种存在。

用法么,真不好说,别一起学了,一个一个来吧。
axman 2009-03-12
  • 打赏
  • 举报
回复
人和石头有什么区别?

根本不相干的事要谈什么区别?

C++的只包含纯虚函数的抽象类和JAVA接口作用相似,原理也相似。
而C++的虚函数和JAVA的非final方法相同,JVM底层默认JAVA的方法就是虚函数。
希偌 2009-03-12
  • 打赏
  • 举报
回复
JAVA中的函数,除非声明为static或final,都可以看做是虚的,因为它们都是动态绑定的(当然final应该也是动态的,static是静态的)和可覆盖的(final不可以)。
而所谓的纯虚函数,在C++中一般是在抽象类中出现的,在JAVA中也有相对应的抽象类。另外,像JAVA中的interface中那些函数就是典型的C++中的纯虚函数。
看了程序员宝典上说的,C++的多态,实际上就是靠虚函数来实现的。而所谓的函数重载,实际上编译器是在编译的时候就对不同参数的函数进行了区分,所以说静态绑定的。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧