a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 110|回复: 0

[专业语言] JAVA认证:如何解决接口名冲突问题

[复制链接]
发表于 2012-8-4 12:44:44 | 显示全部楼层 |阅读模式
JAVA认证考试:如何解决接口名冲突问题:
" t8 D% W$ u; W0 w- ]C++里面,如果多继承的时候2个基类都包含有同名且同参数的函数(假设为f()),那么子类中只能使用基类名受限方法A::f() a.A::f()访问,直接访问f()会出错。0 Y% O) P% H' d4 }$ [* o
  那么Java中,实现多个接口有冲突会怎么样?其实这个问题很傻。因为接口的方法是不能实现的,那么就不存在基类的访问问题。2 t1 N" M& K) x& f% m, N0 w
  假设一个类C同时实现了2个接口A、B,AB都有f()方法且参数相同。则:$ a( G& Y7 w# t1 u+ w9 B4 r! W. K: G% @
  如果f()的返回类型也相同,则系统认为:C实现了A B中的f方法,正确。
  @5 ^$ p  P7 l! D  如果返回值类型不同,那么C不可能同时实现A B中的f方法,报错。错误原因,C必须实现A|B中的方法。不能存在2个只有返回类型不同的同名方法。
. A) t/ ]/ [2 ~* w( X. j  Java中访问基类的方法用super,C++用基类名受限。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-4-29 16:11 , Processed in 0.210296 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表