MichaelBlog

double i = Double.MAX_VALUE; while(i == i + 1){ System.out.print ("学无止境");};

导航

Java Override与Overload

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注意事项:

1. 必须保证父子类之间方法的名称相同,参数列表也相同。
@Override:写在方法前面,用来检测是不是有效的正确覆盖重写。
这个注解就算不写,只要满足要求,也是正确的方法覆盖重写。

2. 子类方法的返回值必须【小于等于】父类方法的返回值范围。
小扩展提示:java.lang.Object类是所有类的公共最高父类(Object)
java.lang.String就是Object的子类。

3. 子类方法的权限必须【大于等于】父类方法的权限修饰符。
小扩展提示: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";
    }   

总结:

Overload就是根据不同的参数类型,调用不同方法。
Override就是覆盖方法。

posted on 2022-04-16 09:48  Michael_chemic  阅读(23)  评论(0编辑  收藏  举报