聊一聊java中重载与重写的区别

本文详细解释了面向对象编程中的重写与重载概念,包括它们的应用场景及区别。通过具体的Java代码示例,帮助读者理解如何在一个类中实现方法的重载,以及如何在子类中重写父类的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单来说:

重写是子类的方法覆盖父类的方法,要求方法名和参数都相同

重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相

同,方法体也不相同,最常见的重载的例子就是类的构造函数,可以参考API帮助文档

看看类的构造方法

  举例如下:

重载:一个类中有一个方法A,你又在这个类中创建了一个方法B,方法B的名字和A一样,返回值类型也一样,但是参数的类型或个数不同,此时B重载了A。
例如:
public class TestClass{
    public int test(int i){return 1;}
    public int test(float f){return 1;}
}
重写:一个类M继承另一个类N,N中有一个方法A,这时你在M写了一个方法B,方法B的名字、返回值以及参数都和A一样,此时B重写了A。
例如:
public class TestClass1{
    public int test(int i){return 1;}
}
public class TestClass2 extends TestClass1{
     public int test(int i){return 2;}
}
转载请注明:https://blog.youkuaiyun.com/qq_36776216
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值