Java—是否可以创建一个父类对象来存储任何子类的实例?
我知道父类的数组可以存储其任何子类的实例,但这是否可以通过单个对象实现: 下面是我希望理解的一个例子:Java—是否可以创建一个父类对象来存储任何子类的实例?,java,class,oop,inheritance,Java,Class,Oop,Inheritance,我知道父类的数组可以存储其任何子类的实例,但这是否可以通过单个对象实现: 下面是我希望理解的一个例子: public class Parent { int a; public Parent(int a) { this.a = a; } public void function1() { //Actions } } public class Child1 extends Parent
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();
我是否能够使用父对象p1
运行父对象类的函数1
方法以及子对象类的函数2
方法
对不起,如果这是一个愚蠢的问题。我对这一切都不熟悉。另外,如果这是一个复制品,你也可以这样做,我也会很感激。经过更多的尝试和研究,我意识到我希望实现的目标是不可能的
因此,对于我的项目,我创建了每个类的单独实例,并在需要时单独访问它们。这不是我想要的解决方案,但它是解决我问题的有效方法
PS:对于指出此代码不起作用的评论,他们是对的,它不起作用。这是一个抽象的例子来说明我的问题。但也许我当时不应该将其格式化为代码。我会马上修改。试着编译代码。