Ich versuche, eine Unterklasse Objekt-Array zu seiner Super-Klasse zuweisen. Das Programm kompiliert erfolgreich, aber ich bekomme eine ArrayStoreException
. Ich weiß, dass Arrays Eltern und Kind sind Verweise auf das gleiche Array, aber sollte ich nicht in der Lage sein, mindestens auf Methode func
zugreifen?Java: Super-Klassen-Array-Objekt zugewiesen mit Sub-Klasse Array-Objekt
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();
}
}
als richtiger Java-Code, Sie sind sehr selektiv mit Ihrer Sichtbarkeit. Um einen einheitlichen Code zu erhalten, benötigen Sie ein "public" (und Sie möchten das Leerzeichen überall korrigieren ... denken Sie daran, http://stackoverflow.com/help/how-to-ask - die " denken Sie daran, Korrektur zu lesen "Teil ist nicht dort nur zum Spaß. Viele Leute, Sie eingeschlossen, vergessen zu) –