Java接口名称冲突问题的讲解

 更新时间:2019-04-10 22:00:34   作者:佚名   我要评论(0)

对于方法重载的区分,主要通过下面三种方式:
1. 参数个数
2. 参数类型
3. 参数顺序(较少使用,维护困难)
至于方法的其他部分,如方法返回值类型、修饰符等

对于方法重载的区分,主要通过下面三种方式:

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关于含有继承类的成员初始化过程讲解
  • Java中关于子类覆盖父类的抛出异常问题
  • Java如何将处理完异常之后的程序能够从抛出异常的地点向下执行?
  • Java反射机制的讲解
  • Java为什么匿名内部类参数引用需要用final进行修饰?
  • 关于JAVA_HOME路径修改之后JDK的版本依然不更改的解决办法
  • Java中转换器设计模式深入讲解
  • Java中数组在内存中存放原理的讲解
  • java集合与数组的相同点和不同点
  • 如何理解Java中基类子对象的构建过程从"基类向外"进行扩散的?

相关文章

最新评论