java方法的重载和重写

重载(@Overload):一个类中定义多个相同名称的方法。
要求:
1.方法名称相同。
2.参数列表不同(类型、个数、顺序)。
3.与访问修饰符、返回值类型无关。
4.调用带有重载的方法时,需要根据传入的实参去找到与之匹配的方法。
例如构造方法的重写 
public Test(String str){
//重载
}

public Test(Int n){
//重载
}
重写(@Override):子类对父类的的方法的实现过程进行重新编写, 返回值和形参都不能改变
1.方法名称相同。
2.参数列表相同(类型、个数、顺序)。
3.返回类型不能改变。
4.访问修饰符可与父类相同或是比父类更宽泛。
class FatherTest{//父类
    public void run(String str){//定义父类方法
    System.out.println("我是父类方法");
}
}
class SonTest extend FatherTest{//子类 且继承父类
        @Override
        public void run(String str1){//重写父类方法
        System.out.println("我是子类方法");
}

    public static void main(String[] args){
    FatherTest test = new SonTest();
    test.run();
}
}


程序运行结果:

我是子类方法

重写和重载的区别
区别点 重载方法 重写方法
参数列表 必须修改 一定不能修改
返回类型 可以修改 一定不能修改
异常 可以修改 可以减少或删除,一定不能抛出新的或者更广的异常
访问 可以修改 一定不能做更严格的限制(可以降低限制)

你可能感兴趣的:(JavaSE,java,开发语言,后端)