Java:重写 与 重载 的区别

Java:重写与重载的区别

1. 重写(子类重写父类)

重写: 重新写一遍。在子类中把父类本身有的方法重新写一遍。
子类继承了父类原有的方法,但并不是原封不动的继承父类中的某个方法 --> 在方法名,参数列表,返回类型均相同的情况下, 对方法体进行修改或重写。

注意:子类函数的访问修饰权限不能少于父类

public class object1{
    public static void main(String[] args) {
        man a = new person();
        a.sayHello();
    }
}

public class person {
    public void sayHello() {
        System.out.println("Hello");
    }
}

class man extends person{
    public void man() {
        System.out.println("hi!");
    }
}
重写总结:

1.父类与子类之间
2.方法名,参数列表,返回类型 必须相同
3.访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private)

2.重载(同一个类中)

重载:参数名称相同,但参数类型或者参数个数不同

public class object1{
    public static void main(String[] args) {
        man a = new person();
        a.sayHello();
        a.sayHello("abc");
    }
}

public class person {
    public void sayHello() {
        System.out.println("Hello");
    }
    public void sayHello(String name) {
        System.out.println("Hello" + " " + name);
    }
}

重载 总结:

1.在一个类中
2.重载要求同名,但方法的参数列表不同(参数类型,参数个数/参数顺序)

“ 重载 ” 和 “ 重写 ” 的区别?

方法的重载和重写都是实现多态的方式,区别在于
重载实现的是编译时的多态性
重写实现的是运行时的多态性
1.重载是在一个类中,参数名称相同,参数不同类型或个数不同;重写是在子类与父类之间,要求子类方法中与父类被方法中有相同的参数列表,
2.重写要有兼容的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常; 重载对返回类型没有特殊的要求,不能根据返回类型进行区分。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值