Java Override与Overload
O v e r r i d e 重 写 : \color{red}{Override 重写:} Override重写:
public class DemoOverride {
}
public class Fu {
public String method() { //方法名称参数都相同
return null;
}
}
public class Zi extends Fu {
@Override
public String method() { //方法名称参数都相同
return null;
}
}
Override注意事项:
-
必须保证父子类之间方法的名称相同,参数列表也相同.
@Override:写在方法前面,用来检测是不是有效的正确覆盖重写.
这个注解就算不写,只要满足要求,也是正确的方法覆盖重写. -
子类方法的返回值必须
小于等于
父类方法的返回值范围
.
小扩展提示:java.lang.Object类是所有类的公共最高父类(Object)
java.lang.String就是Object的子类。 -
子类方法的权限必须
大于等于
父类方法的权限修饰符.
public > protected > (default) > private
注意:(default)不是关键字default,而是什么都不写,留空.
🎈重写可以重写任何现有方法
O v e r l o a d : 重 载 \color{red}{Overload:重载} Overload:重载
public class DemoOverload {
public int test(){
System.out.println("test1");
return 1;
}
public void test(int a){
System.out.println("test2");
}
//以下两个参数类型顺序不同
public String test(int a,String s){
System.out.println("test3");
return "returntest3";
}
public String test(String s,int a){
System.out.println("test4");
return "returntest4";
}
总结:
Override就是覆盖方法。
Overload就是根据不同的参数类型,调用不同方法。