package org.xianyun.j2se.override;
public class Father {
public String fun(){
return "string";
}
}
package org.xianyun.j2se.override;从 I 处可以看出,系统判断覆写(Overriding)的凭据是方法名和传入参数。如果是覆写,则判断返回参数。
public class Children extends Father {
public void fun(){
// I : 父类返回String,子类返回void。Eclipse报错:返回类型与 Father.fun() 不兼容。
}
public void fun(String str){
// II : 这里是重写(overloading)。
}
public String fun(){ // III : Eclipse报错:存在重复的方法 fun()
return "";
}
}
II 处,正常,属于重写(Overloading),此时Children类多了void fun(String)方法。
III 处证明,判断是同一个方法的依据是方法名和传入参数,不参照返回参数。
注:代码在sun jdk下尝试结果相同。
借此再温习一下覆写和重写:
Overriding (覆写)
方法与父类方法同名同参同返回。,即同方法名,同传入参数,同返回参数类型。
Overloading (重载)
方法与父类方法同名,不同传入参数(个数或/和类型),同/不同返回参数类型。
另,在网络技术交流群小学一招,使桌面上图标文本的默认阴影消失:
我的电脑 -> 属性 -> 高级 -> 性能 -> 设置 选中"在桌面上为图标标签使用阴影"。
没有评论:
发表评论