java中如何理解overload , override 和 overwrite
来源:互联网 发布:网校系统源码 编辑:程序博客网 时间:2024/06/03 23:48
很多人总是容易把这三个词搞混淆,有的人甚至认为三者之间没多大区别。其实区别还是很大的,而且彻底搞清楚这三者间的关系还是很重要的,对于理解类与类之间的关系、类与接口、类内部方法与方法间的关系以及理解java的多态性、继承性尤其重要。况且面试中偶尔还会被问到这三个词中的某两个。
先看看三个词分别代表什么含义:
override:覆写
overload:重载
overwrite:重写
接下来请看三者之间的区别:
public class WarppedSessionListener implements HttpSessionListener {
public static void test(String name){System.out.println("方法name:"+name);}/** * @param args */public static void main(String[] args) {test("main");}@Overridepublic void sessionCreated(HttpSessionEvent sessionEvent) {test("sessionCreated");}@Overridepublic void sessionDestroyed(HttpSessionEvent sessionEvent) {test("sessionDestroyed");
}}上面的@override是什么意思呢?结合类来看,肯定一目了然就是说,该类的该方法实现了接口的方法。所以可以说叫:实现-实现了接口方法。接下来看看
overload:重载 overwrite:重写
的区别
//父类public class FatherClass {public void test(){System.out.println("father test method");}}//子类public class ChildClass extends FatherClass {@Overwrite //重写父类方法public void test(){System.out.println("Child test method");}@Overload //类内部方法-重载public void test(String name){System.out.println("This is a Overload method!");}/*//以下编译不通过@Overloadpublic String test(String name){System.out.println("This is a Overload method!");return "";}*/}
以上代码直接明了可以得出结论:重写就是把父类方法重写。重载是在一个类内部实现同一个方法名但不同入参名的多个方法。
梳理下最终得出结论:
override:覆写是对接口方法名实现
overload:重载 同一个类里同一个方法名,有不同入参
overwrite:重写 重写父类所属方法
把以上概念理解了,我敢说,任何面试官再问此类问题,都难不倒你。倒是有些面试官估计,自己都还没搞明白这三种概念之间的关系。很多人只知道重载和重写,却不知道覆写override
0 0
- java中如何理解overload , override 和 overwrite
- java中如何理解overload , override 和 overwrite
- overload,override和overwrite
- Overload,Override和Overwrite
- Overload,override和overwrite
- overload ,override 和 overwrite
- overload , override 和 overwrite
- Overload、Overwrite和Override
- java中overload、override、overwrite区别
- C++中Overload、Overwrite和Override区别
- Java中的Overload Overwrite Override
- C++:overload, override和overwrite
- 总结一下JAVA的override、overwrite和overload
- C++中override、overwrite、overload的区别
- C++中overload、override、overwrite的区别
- C++中overload,override,overwrite的区别
- Java中的Overload Overwrite Override(转载)
- override、overwrite和overload的区别
- xcode autolayout
- 使用 Apache CXF 实现 Web Service 详解 .
- Wrong Image Format for bootm command&ERROR: can't get kernel image
- Redis安装 和 PHP-redis扩展安装
- 怎么样培育孩子的智慧[图]
- java中如何理解overload , override 和 overwrite
- 文件删除后怎么才能恢复
- ContentObserver
- Median of Two Sorted Arrays
- 震撼世界的一块墓碑
- IOS基础 第一课
- count 小知识
- Key Value Coding && key Value Observing KVC KVO
- Spring security 多登陆页面问题