首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >方法隐藏是一种多态性吗?

方法隐藏是一种多态性吗?
EN

Stack Overflow用户
提问于 2015-02-25 04:40:58
回答 5查看 1.4K关注 0票数 5

多态是采取多种形式的能力。方法重写是运行时多态性。

我的问题是:

  1. Java中有类似于静态多态性的东西吗?
  2. 方法隐藏能被认为是一种多态吗?

在这个问题的答案中,静态方法不是多态的。原因是什么?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-02-25 04:54:18

如果我们运行这个测试

代码语言:javascript
复制
class A {
    static void x() {
        System.out.println("A");
    }
}

class B extends A {
    static void x() {
        System.out.println("B");
    }
}

class Test {
    public static void main(String[] args) throws Exception {
        A a = new B();
        a.x();
    }
}

如果方法x()是多态的,它将打印B。

票数 1
EN

Stack Overflow用户

发布于 2015-02-25 04:43:34

多态性

静态绑定/早期绑定/编译时间绑定-方法重载。(在同一类中)动态绑定/运行时绑定/方法重写。(在不同的类中)

java中的多态性

它只有两种类型,Method overloadingMethod overriding,一旦method overriding变成Method Hiding,它就失去了它的多态特性。

请参阅下面的堆栈溢出问题。

(1) Question1

2.) Question2

票数 1
EN

Stack Overflow用户

发布于 2015-02-25 04:45:49

运行时的多态以“动态分派”的形式出现。也就是说,被调用的实际方法是根据调用方法的实际实例来确定的。显然,这仅当您有一个类的实例时才适用,因此严格地说,多态不适用于隐藏静态方法。以进一步解释差异检查这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28711259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档