前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Override,Overload,Overwrite到底有什么区别?

Override,Overload,Overwrite到底有什么区别?

作者头像
马克java社区
修改2021-03-25 09:52:37
5730
修改2021-03-25 09:52:37
举报
文章被收录于专栏:java大数据

Override,Overload,Overwrite的区别【新手可忽略不影响继续学习】  

方法的覆盖(Override)是指子类重写从父类继承来的一个同名方法(参数、返回值也同),马克-to-win:此时子类将 清除父类方法的影响,实现自身的行为。实在想用原来的,可以用super。顺便说,overload指同名方法,通过不同的参数样式共存, 有时用这个, 有时用那个。参数样式指,不同的参数类型,不同的参数个数,不同的参数顺序,返回值不起作用。再顺便说,比较权威公开的著作,都支持overwrite在java中不 存在的说法。我们看看下面的一个实用的例子。此例子证明,compiler(编译器)一定是按照先子类,后父类,先精确匹配,后模糊匹配的顺序。

例1.5.3---

class AAAMark_to_win {

    double f(double x, double yMark_to_win) {

        return x * yMark_to_win;

    }

    double f(int x, double y) {

        return x * y*2;

    }

}

class BBB extends AAAMark_to_win {

    double f(double x, double y)

    {

        return x + y;

    }

}

public class Test {

    public static void main(String args[]) {

        BBB obj = new BBB();

/*找参数的准确匹配, 子类中没有, 就去父类中找*/        

        System.out.println(obj.f(4, 6.0));

/*如果没有准确匹配, 就模糊匹配(强转一下),马克-to-win:还是按照从子类到父类的顺序*/        

        System.out.println(obj.f(4.0, 6));

    }

}

更多请见:https://blog.csdn.net/qq_44639795/article/details/103118060

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档