Override? Or Overwrite?

本文解析了Java中容易混淆的概念Override与Overwrite的区别。Override指子类与父类的方法签名完全相同,实现多态性;而Overwrite实际上是指方法的重载,即在同一类中方法名相同但参数不同的情况。

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

Override? Or Overwrite?
java中有两个概念很容易搞混Override和Overwrite
1,Override
基本英文意思是:
vt.
制服, 践踏, 奔越过, 蹂躏, 不顾, 不考虑(某人的意见,决定,愿望等)
也就是不管你愿不愿意,都要这样执行,因此,在java中翻译成重写或者覆盖,
而不是熟知的重载!!!
Override就是子类function跟父类function完全一致(非peivate函数),包括函数名,参数和返回值。
经过Override后的function,在子类中不再起作用,通过子类调用该function,只能
是子类的该function;另外,子类中允许出现该函数的同名函数,但参数不能一样!
其实这样的函数才是对父类的这个函数的重载!
2,Overwrite
基本英文意思是:
v.
写在...上面, 写得过多
也就是在原来的基础上继续写!
这才是重载!!!
Overwrite指的是同一个class中的同名但不同参数的function~ 
Overload和OverrideJava中的两个重要概念,它们的区别如下: 1. Overload(重载) Overload是指在同一个类中定义多个方法,它们具有相同的方法名,但参数列表不同(参数个数、类型或顺序不同)。Java编译器根据方法调用时传入的参数类型和数量来确定调用哪个方法。 举例: ``` public void print(int a) { System.out.println("int: " + a); } public void print(String s) { System.out.println("String: " + s); } ``` 在上述代码中,print方法被定义了两次,一个是接收int类型参数,另一个是接收String类型参数。当调用print方法时,根据传入参数的不同,编译器会选择调用相应的方法。 2. Override(重写) Override是指在子类中定义一个和父类中方法名、返回类型、参数列表相同的方法,从而覆盖父类中的方法。Java中的Override是基于继承实现的,子类可以重写父类的方法,从而实现多态。 举例: ``` public class Animal { public void move() { System.out.println("Animal can move"); } } public class Dog extends Animal { @Override public void move() { System.out.println("Dog can run and walk"); } } ``` 在上述代码中,Dog类继承了Animal类,并且重写了move方法。当调用Dog对象的move方法时,会执行子类中的move方法。 总结:Overload和Override都是Java中的重要概念,Overload是指在同一个类中定义多个方法,它们具有相同的方法名,但参数列表不同;而Override是指在子类中重写父类的方法,从而实现多态。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值