以前初略学过c++,在学习java的过程中想到一个问题,就是java中没有提到到虚函数一词,可好像又有一点虚函数的意思在里面,本人比较迷惑,请高手指点.
解决方案 »
- 关于读取十六进制文件转换十进制的问题
- 小弟初学java, 此小程序有个地方不解,麻烦了各位...
- 一直不是很明白,环境变量中的classpath和path有什么区别啊?
- 小问题求教!
- 把数据结构掌握好重要还是把精力发在JAVA语言上???
- 为何JFreeChart的这个类无法引用 TimeSeriesDataPair
- 600分求征一问题答案
- 忙毕业设计中,请教高手问题,谢谢帮忙!
- 做程序员还不如去开个店子卖点烟酒零食算了,郁闷,送分,送完为止
- 我在主窗口上,添加一个菜单栏和jpanel,删除jpanel,然后再添加一个jpanel。结果主窗口上的菜单栏和关闭窗口点击不起作用了。希望大神给指点一下。
- 二进制数据转换
- 关于字符流的实际应用。。。
虚函数是类中声明的一个非静态成员函数,在类中该函数声明之前冠有关键字virtual,我们将这种带有虚函数的类称为多态类,这种类提供了相同的操作接口,但能服务于不同的应用需求。当基于父类的抽象设计程序,而所设计的程序又要能适应子类在操作上的变化时,要使用虚函数通知编译器这种可能的变化,使编译器为虚函数生成特别的代码,以便在运行时对虚函数调用采用动态束定,而不是静态束定。因为java里面没有多重继承概念,因此需要interface来完成。abstract类似于c++中的virtual。这是我的理解
(下面这句是网上朋友的一个总结)
不够严谨,下面是我的总结:
C++ Java
虚函数 -------- 普通函数
纯虚函数 -------- 抽象函数
抽象类 -------- 抽象类
虚基类 -------- 接口
对象是哪个类的,调用的就是那个类的方法,
要想调用父类的方法,必须在方法中使用super.方法()
java不考虑这个
虚函数与其它非虚函数的区别,仅仅是多了virtual关键字声明(该关键字告诉编译程序现在不要绑定,到运行时再决定。)
从其作用来看,C++语言中的虚函数很有点java中的抽象方法的意思,但更相当于java中的抽象方法的是C++语言中的纯虚函数。
还可以看出:C++语言的抽象类就相当于java中的抽象类。
虚函数与其它非虚函数的区别,仅仅是多了virtual关键字声明(该关键字告诉编译程序现在不要绑定,到运行时再决定。)
从其作用来看,C++语言中的虚函数很有点java中的抽象方法的意思,但更相当于java中的抽象方法的是C++语言中的纯虚函数。
还可以看出:C++语言的抽象类就相当于java中的抽象类。