Java里的非静态方法是不是都是虚函数?

tarsen 2006-11-29 03:19:28
以前经常用c++,c++里面的非静态函数,除非添加virtual关键字,否则都是普通的成员函数,Java里的非静态函数,好像都是虚函数吧?也就是都可以被子类覆盖。
...全文
268 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
aniude 2006-12-01
  • 打赏
  • 举报
回复
Java默认支持多态
cpl3113 2006-12-01
  • 打赏
  • 举报
回复
方法前加了static的意思是:不需要实例化这个类的实例即可调用此方法,也就是说
他是这个类的方法。非静态的方法是需要先实例化这个类的一个实例才能调用的,区别就
在这里。
shine333 2006-12-01
  • 打赏
  • 举报
回复
final不能override,编译错误
static不会被override,静态的不可能多态
private不会被override,由于可能被inline的缘故
tarsen 2006-12-01
  • 打赏
  • 举报
回复
Java的abstract函数相当于c++里面的纯虚函数,virtual xxxmethod()=0;

一个更精确说法,我认为应该是,Java里面大部分函数都是虚函数。


donaroo 2006-11-29
  • 打赏
  • 举报
回复
这一点上是很像c++的虚函数,我也是c++正在转java
malligator 2006-11-29
  • 打赏
  • 举报
回复
写了就覆盖


类似C++里加上个virtual

但JAVA必须写函数体的
零上三度 2006-11-29
  • 打赏
  • 举报
回复
可以被覆盖,不过,
java和C++是两种语言,这种类比不是很准确,在java里提供了abstract关键字,是为了显式的表示出该方法无需在声明后就定义,由子类实现,而不是指示该方法可被覆盖
treeroot 2006-11-29
  • 打赏
  • 举报
回复
可以这么理解

62,616

社区成员

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

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