JAVA中名称屏蔽的问题
来源:互联网 发布:怎么加入淘宝优惠群 编辑:程序博客网 时间:2024/06/06 08:25
在JAVA中,若基类拥有某个被多次重载的方法名称,那么在导出类中重新定义该方法名称时并不会屏蔽在基类中的任何版本,这与C++不同。因此,无论在该层或者其它基类中对方法进行定义,重载机制仍可以正常运行,看如下代码段:
package access;import java.util.*;class Homer{char doh(char c){System.out.println("doh(char)");return 'd';}float doh(float f){System.out.println("doh(float)");return 1.0f;}}class Milhouse{}class Bart extends Homer{void doh(Milhouse m){System.out.println("doh(Milhouse)");}}public class Hide {public static void main(String[] args) {// TODO Auto-generated method stubBart b = new Bart();b.doh(5);b.doh('x');b.doh(1.909331315468f);b.doh(new Milhouse());}}此程序运行结果为:
从运行结果可以看到,虽然Bart引入了一个新的重载方法,但在Bart中Homer的所有重载方法均可以使用。
若我们想要覆写某个方法时,可以使用”@Override”注解,虽然不是关键字,但可以把它当做关键字来使用,此注解可以帮助我们避免重载错误的发生,当不留心重载而并非覆写了某个方法时,编译器会生成一条错误信息。
@Override注解可以防止我们在不想重载时意外的进行了重载。
阅读全文
0 0
- JAVA中名称屏蔽的问题
- 名称屏蔽
- java中的重载(名称屏蔽)
- Java接口的名称冲突问题
- java类中获取属性的名称
- java类中获取属性的名称 .
- Java中被保护的 package名称
- 改变myeclipse中Java项目的名称,在浏览器中使用新名称访问项目时报404的问题的解决方法!!!
- 关于在框架中屏蔽鼠标右键的问题
- 关于在windows服务中屏蔽CRL的问题
- h5屏蔽页面中数字当手机号的问题
- 数组名称的问题
- 使用c++builder中stringgird控件和设定行名称和列名称的问题
- 用户控件中使用客户端脚本的控件名称问题
- 用户控件中使用客户端脚本的控件名称问题
- C++中继承情况下的名称问题
- 在MyEclipse中更改项目名称要注意的问题
- C#中嵌入资源的名称大小写问题
- 区域覆盖问题
- AVL树的 java 代码实现(待更)
- display中block、inline、inlinke-block的区别和使用方法
- Java基础3
- JDBC 复习
- JAVA中名称屏蔽的问题
- Lua 基础之数据类型
- 跟我一起学linux基础(第二天)
- POJ-1113 Wall
- 日期显示格式
- Hello
- java线程优先级
- N很大情况下的Fibonacci前四位-HDU1568(重要)
- ios-KVO