Java接口的名称冲突问题
2017-11-01 17:25
351 查看
对于方法重载的区分,主要通过下面三种方式:
1. 参数个数
2. 参数类型
3. 参数顺序(较少使用,维护困难)
至于方法的其他部分,如方法返回值类型、修饰符等,与方法重载则没有任何关系。、
Java编程时,假设存在两个接口,但接口中存在相同名称的方法,但是其仅返回值不同。如下:
interface interfac1{
void method();
}
interface interface2 {
int method();
}
interface interface3 extends interfac1,interface2{
}
这段程序看上去是合理的,但是程序实则是错误的。这就涉及到方法的重载问题,这里仅用返回值作为区分是无法进行方法重载的,所以这两个接口中的method()方法,会被当做相同的方法。但是其返回值不同,又造成了矛盾。所以,程序会报错The return types are incompatible for the inherited methods interfac1.f(), interface2.f()。
所以在Java中,当方法名称相同,仅仅根据方法返回值来区分重载方法是行不通的。
1. 参数个数
2. 参数类型
3. 参数顺序(较少使用,维护困难)
至于方法的其他部分,如方法返回值类型、修饰符等,与方法重载则没有任何关系。、
Java编程时,假设存在两个接口,但接口中存在相同名称的方法,但是其仅返回值不同。如下:
interface interfac1{
void method();
}
interface interface2 {
int method();
}
interface interface3 extends interfac1,interface2{
}
这段程序看上去是合理的,但是程序实则是错误的。这就涉及到方法的重载问题,这里仅用返回值作为区分是无法进行方法重载的,所以这两个接口中的method()方法,会被当做相同的方法。但是其返回值不同,又造成了矛盾。所以,程序会报错The return types are incompatible for the inherited methods interfac1.f(), interface2.f()。
所以在Java中,当方法名称相同,仅仅根据方法返回值来区分重载方法是行不通的。
相关文章推荐
- 关于 Java 打包工具 jar 的接口形参名称丢失问题
- java-组合接口中的名字冲突问题
- 【CXF】wsdl2java 生成客户端: 具有相同名称 "xxx" 的类/接口已在使用。请使用类定制设置来解决此冲突。
- wsdl2java 生成客户端: 具有相同名称 "xxx" 的类/接口已在使用。请使用类定制设置来解决此冲突。
- javamail,java发email,发邮件,jaf,activation,j2ee5冲突问题解决
- javamail,java发email,发邮件,jaf,activation,j2ee5冲突问题解决
- 如何解决在java开发中java代码和jsp页面中出现路径因为项目名称的变化(也就是应用名)的问题?
- javamail,java发email,发邮件,jaf,activation,j2ee5冲突问题解决
- axis中enum包名与java中enum关键字冲突问题
- 一步步 jQuery (一)概念,使用,$名称冲突4种解决方法,使用层次及次数问题
- 两把利斧解决maven的类包冲突问题 - Spring,企业应用 - Java - ITeye论坛
- java中的继承问题,类B继承A,那么构造方法需要这样写吗?这不是重复吗?还有接口与抽象类怎么实现?
- Java调用Domino接口报文件过早结束问题
- java接口实例化问题
- 关于vs2010下编译dll动态库,JNA接口在java中调用的问题
- jaxb2 名称冲突 问题解决
- C++和Java中成员数据名和成员函数名的冲突问题
- struts2 迭代器标签iterator嵌套 如何加选择性参数和名称冲突问题的解决
- java文件下载及名称乱码问题
- 关于java在windows里面进程名称问题?