当前位置: 首页 > 知识库问答 >
问题:

静态/编译时多态性[重复]

方英耀
2023-03-14
class StaticPolymorphismSample {
    void polymorphicMethod(int a) {

    }
    void polymorphicMethod(int a, int b) {

    }
    void polymorphicMethod(String a) {

    }
    void nonPolymorphicMethod(int a) {

    }
    void nonPolymorphicMethod1(int a) {

    }

}

共有1个答案

洪英豪
2023-03-14

对于nonpolymorphicmethod1(int a),它不会被认为是polymorphic,因为它的名称与其他nonpolymorphicmethods不同。

对于nonpolymorphicMethod(int a,int b)nonpolymorphicMethod(int a),它们不接受相同的参数,因此不被视为多态。编辑这是错误的请参阅下一行

您所展示的其他方法是多态的,因为它们共享一个名称,但参数类型或数量不同。

public abstract class ClassA
{
    public Object getObject()
    {
        return new Object();
    }
}

public class ClassB extends ClassA
{
    @Override
    public ClassB getObject()
    {
        return new ClassB();
    }
}

public class ClassC extends ClassA
{
    @Override
    public ClassC getObject()
    {
        ClassC example = new ClassC();
        example.doStuff();
        return example;
    }

    private void doStuff()
    {
        // Do Something To Change The Object 
    }
}
 类似资料:
  • 问题内容: 我确实知道重载和重载之间的语法差异。而且我也知道,重载是运行时多态,重载是编译时多态。但是我的问题是:“重载真的是编译时的多态性吗?方法调用真的在编译时解决了吗?”。为了阐明我的观点,让我们考虑一个示例类。 由于所有方法都是公开的,因此可以全部重写(包括重载的方法),对吗?例如, 现在,考虑以下代码片段: 该方法返回一个随机对象。它可以返回的对象,或者它的任何子类,例如或或任何其他一个

  • 我们检查一下PHP语言中get_loaded_extensions()函数的输出,会发现有一些扩展并没有php.ini文件中调用,而它们确实也已经加载到PHP里去了,可以让我们在PHP语言中使用,如standard、Reflection、Core等。它们便是静态编译的,它们没有被编译成so或者dll文件供PHP动态调用,而是直接和PHP主程序编译到一起。 在*nix上执行静态编译 现在,先让我们执

  • 问题内容: 在我提出问题之前,让我解释一下我的理解和看法。 除非进行覆盖,否则仅通过Override才能实现多态。而且,它只能在运行时看到,人们可能将其命名为“运行时多态性”。( 我不反对将 多态 称为 运行时多态 ) 我反对 将 方法重载 称为 编译时多态 或多 态 。 我同意 方法重载 是静态绑定(编译时绑定),但是我看不到其中的多态性。 根据javadoc,只有多态性。没有编译时或运行时多态

  • 问题内容: 我正在构建一个专用的嵌入式Python解释器,并希望避免依赖于动态库,因此我想改用静态库来编译解释器(例如,不编译)。 我还想静态链接Python标准库中所有的动态库。我知道可以使用来完成此操作,但是有没有一种替代方法可以一步完成呢? 问题答案: 我发现了这一点(主要是关于Python模块的静态编译): http://bytes.com/groups/python/23235-buil

  • 静态(编译期)断言由一个常量表达式及一个字符串文本构成: static_assert(expression, string); expression在编译期进行求值,当结果为false(即:断言失败)时,将string作为错误消息输出。例如: static_assert(sizeof(long) >= 8, “64-bit code generation required for this

  • 本节来在本地把我们的笔记编译成静态页面,未来方便托管到 github pages 静态网页服务之上。 修改文件夹结构 为了部署方便,我们把我们的 my-note 的内容结构稍微调整一下,把原有的所有的笔记都放到 content 文件夹中,也就是有这样的目录结构 cd my-note cd content ls README.md SUMMARY.md redux 为何要把内容都统一放到 con