V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bojun1995
V2EX  ›  Java

Java 中是否存在重载 编译多态(设计多态)这一说法?

  •  
  •   bojun1995 · 2016-09-12 12:36:01 +08:00 · 2310 次点击
    这是一个创建于 2780 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近看 Thinking In Java 明确多态是运行时绑定、后期绑定、动态绑定。
    而多态的三个必要条件是:
    1 )继承
    2 )重写
    3 )父类引用类型指向子类对象
    从这里分析多态似乎跟重载没有关系? 有点懵逼,求解答

    10 条回复    2016-09-12 18:49:42 +08:00
    zhiyuan91
        1
    zhiyuan91  
       2016-09-12 12:54:31 +08:00   ❤️ 1
    多态跟重载没关系
    SoloCompany
        2
    SoloCompany  
       2016-09-12 13:13:23 +08:00 via iPhone
    overload 编译时绑定
    override 运行时绑定
    请先搞清楚你想要的概念
    XhstormR
        3
    XhstormR  
       2016-09-12 13:15:30 +08:00 via iPhone
    重写和重载都属于多态吗?
    bojun1995
        4
    bojun1995  
    OP
       2016-09-12 13:19:29 +08:00 via Android
    @SoloCompany 这个我懂,我想知道的是重载(设计多态)算多态的一种吗?
    SoloCompany
        5
    SoloCompany  
       2016-09-12 13:36:03 +08:00   ❤️ 1
    XhstormR
        6
    XhstormR  
       2016-09-12 13:46:00 +08:00   ❤️ 1
    @zhiyuan91 网上说重载是静态多态。
    bombless
        7
    bombless  
       2016-09-12 15:21:39 +08:00
    不重载你子类型不是跟父类型行为一样了么 233
    不过有些人把这叫做覆写
    hxsf
        8
    hxsf  
       2016-09-12 15:41:16 +08:00   ❤️ 2
    @bombless
    楼主说的 是 方法的 *重载* 如 boolean func(int a) 和 boolean func(double a),
    你说的是子类 *重写* 父类方法。
    wizardforcel
        9
    wizardforcel  
       2016-09-12 18:27:55 +08:00 via Android   ❤️ 3
    多态:静态多态+动态多态。

    静态多态:参数化多态+非参数化多态( ad-hoc )

    动态多态:虚函数

    参数化多态:泛型

    非参数化多态:重载

    对应到 java 中,三个特性, overload 、 override 、 generic 算作多态。
    bojun1995
        10
    bojun1995  
    OP
       2016-09-12 18:49:42 +08:00
    @wizardforcel 谢谢你
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1009 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 20:13 · PVG 04:13 · LAX 13:13 · JFK 16:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.