【问题标题】:Java - Possible to create a parent class object that can store an instance of any subclass?Java - 可以创建一个可以存储任何子类实例的父类对象吗?
【发布时间】:2020-10-11 21:22:53
【问题描述】:

我知道一个父类的数组可以存储它的任何子类的一个实例,但这是否可以使用单个对象:

这是我希望理解的一个例子:

public class Parent
{
    int a;
    
    public Parent(int a)
    {
        this.a = a;
    }
    
    public void function1()
    {
        //Actions
    }   
}

public class Child1 extends Parent
{
    public Child1(int a)
    {
        super(a);
    }
    
    public void function2()
    {
        //Actions
    }
}

public class Child2 extends Parent
{
    public Child2(int a)
    {
        super(a);
    }
    
    public void function3()
    {
        //Actions
    }
}

现在如果我执行以下操作:

Parent p1;

Child1 c1 = new Child1(5)

p1 = c1;

p1.function1();

p1.function2();

我能否运行Parent 类的function1 方法以及Child1 类的function2 方法与Parent 类对象p1

对不起,如果这是一个愚蠢的问题。我对这一切都很陌生。另外,如果这是重复的并且您将其标记为重复,我也将不胜感激。

【问题讨论】:

  • 尝试编译你的代码。

标签: java class oop inheritance


【解决方案1】:

经过更多的尝试和错误以及进一步的研究,我意识到我希望实现的目标是不可能的。

因此,对于我的项目,我为每个类创建了单独的实例,并在需要时单独访问它们。这不是我想到的解决方案,但它可以有效地解决我的问题。

PS:对于指出此代码不起作用的评论,他们是对的,但事实并非如此。这是一个抽象的例子来说明我的问题。但也许那时我不应该将其格式化为代码。我马上改。

【讨论】:

    猜你喜欢
    • 2016-06-17
    • 2015-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 2014-06-17
    • 1970-01-01
    相关资源
    最近更新 更多