小编Siv*_*iva的帖子

Java:使用子类数组对象分配的超类数组对象

我正在尝试将子类对象数组分配给它的超类.该程序编译成功,但我得到了ArrayStoreException.我知道数组父和子是对同一个数组的引用,但我不应该func至少能够访问方法吗?

class Pclass
{
    Pclass()
    {
        System.out.println("constructor : Parent class");
    }

    public void func()
    { 
        System.out.println("Parent class");
    }
}

class Cclass extends Pclass
{
    Cclass()
    { 
        System.out.println("Constructor : Child class");
    }

    public void func2()
    {  
        System.out.println("It worked");
    }

    public void func()
    { 
        System.out.println("Common");
    }
}

public class test
{     
    public static void main(String ab[])
    {    
        Cclass[] child = new Cclass[10];
        Pclass[] parent = child;
        parent[0]=new Pclass();
        parent[0].func();
    }
}
Run Code Online (Sandbox Code Playgroud)

java arrays subclass object superclass

6
推荐指数
1
解决办法
8432
查看次数

标签 统计

arrays ×1

java ×1

object ×1

subclass ×1

superclass ×1