Chinaunix首页 | 论坛 | 博客
  • 博客访问: 511898
  • 博文数量: 174
  • 博客积分: 8001
  • 博客等级: 中将
  • 技术积分: 1840
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-04 19:30
文章分类

全部博文(174)

文章存档

2011年(1)

2010年(24)

2009年(149)

我的朋友

分类: Java

2010-09-09 01:02:31

JAVA里的子类的函数不会隐藏超类里的同名函数,这点和C++不同。如果你希望重载超类里的方法,在C++里,没有“跨域重载“,你需要使用using Super::f的方法来将超类的方法的名字出现在子类的域里。
这个差异事实上是JAVA和C++在名字管理系统上的差异导致的,JAVA从语义上没有覆盖(这是为了垃圾收集器的实现),所以名字隐藏也就不会发生。所以虽然标题是讨论继承,但是事实上这个问题不是继承的问题。
JAVA的继承只有extends,相当于C++的PUBLIC继承,不过C++极少使用PUBLIC以外的继承(或者可以说那些所谓的继承不是继承)。


阅读(896) | 评论(0) | 转发(0) |
0

上一篇:JAVA的访问控制

下一篇:JAVA的常量

给主人留下些什么吧!~~