gpt4 book ai didi

java - 调用子对象的方法,其中定义的引用类型属于父对象,但实际引用是子对象

转载 作者:行者123 更新时间:2023-12-02 00:28:53 26 4
gpt4 key购买 nike

我有一个父类和一个子类,

class Parent
{
// variables
// constructor
}

class Child extends Parent
{
// variables
// constructor
public void AChildMethod()
{
// do something
}
}

在我的程序中,我有一个主类型的引用,但它引用了一个子类型

Parent obj = new Child();

是否可以通过这样的方式调用子进程的“AChildMethod”方法?

obj.AChildMethod();

提前非常感谢您。

最佳答案

您可以检查它是否确实是 Child 类的实例,然后简单地转换为子类型:

if ( obj instanceof Child ) {
((Child) obj).aChildMethod();
// or
Child childObj = (Child) obj;
childObj.aChildMethod();
}

但是,如果需要这样的强制转换,则可能表明您的类层次结构应该得到改进。

关于java - 调用子对象的方法,其中定义的引用类型属于父对象,但实际引用是子对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9523852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com