如何将子类对象转换为超类对象

如何将子类对象转换为超类对象,第1张

如何将子类对象转换为超类对象

超类不能知道子类方法。

这样考虑:

  • 你有超一流的

    Pet

  • 你有两个子类

    Pet
    ,即:
    Cat
    Dog

  • 两个子类将具有相同的特征,例如

    speak

  • Pet
    超意识到这些,因为所有
    Pet
    S能说话(即使它不知道此 *** 作的确切机制)
  • Dog
    但可以做的事情,猫不能,即
    eatHomework
  • 如果将a强制转换
    Dog
    为a
    Pet
    ,则应用程序的观察者将不会意识到
    Pet
    a实际上是a
    Dog
    (即使我们将其称为实现者)
  • 考虑到这一点,调用
    eatHomework
    a
    Pet

您可以通过告诉程序您知道

sup
的类型来解决问题
subclass

public class Testing{       public static void main(String args[])   {      subclass sub = new subclass();      superclass sup = (superclass) sub;       subclass theSub = (subclass) sup;      theSub.displaySub();   }}

您可以通过执行以下 *** 作来完全解决该问题:

public class superclass{    public void display()    }        System.out.println("Display Superclass");    }}public class subclass extends superclass{    public void display()    {          System.out.println("Display Subclass");    }}public class Testing{       public static void main(String args[])   {      subclass sub = new subclass();      superclass sup = (superclass) sub;       sup.display();   }}

查看本教程以获取更多信息:覆盖



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5490757.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存