小编Luk*_*uka的帖子

Java对象数组和继承

我有3个类,具有主要方法的MainClass,一个名为AbstractClass和Subclass的抽象类,将通过AbstractClass进行扩展。

对象数组是在main方法中从包含1个成员的AbstractClass类型创建的。然后,我将数组的1个元素初始化为Subclass类型(可以吗?)。问题是我无法使用创建的对象(array [0])的getDataToExport()方法。我怀疑出现问题是因为数组是AbstractClass类型...而问题是:这是否有可能实现?我想做的是使用类型为AbstractClass的数组,并用由不同的子类(在此代码中仅是一个-> Subclass)制成的对象填充它,但该类继承了AbstractClass,但我无法使用该子类的方法。

主类与主方法

public class MainClass {

    public static void main() {

        AbstractClass array[]=new AbstractClass[1];
        array[0]= new Subclass(); // is this even allowed?
        System.out.println(array[0].getDataToExport()); // Problem!

    }

}
Run Code Online (Sandbox Code Playgroud)

抽象类

public abstract class AbstractClass {

}
Run Code Online (Sandbox Code Playgroud)

扩展AbstractClass的子类

public class Subclass extends AbstractClass {

    private int dataToExport;

    public Subclass(){
        this.dataToExport=2;
    }

    public int getDataToExport() {
        return dataToExport;
    }   

}
Run Code Online (Sandbox Code Playgroud)

java arrays inheritance object

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

arrays ×1

inheritance ×1

java ×1

object ×1