Próbuję przypisać do obiektów klasy super klasy tablicę obiektów podklas. Program kompiluje się pomyślnie, ale otrzymuję numer ArrayStoreException
. Wiem, że tablice parent i child są odniesieniami do tej samej tablicy, ale czy nie powinienem mieć dostępu przynajmniej do metody func
?Java: obiekt tablicy Super class przypisany do obiektu tablicy podrzędnej
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();
}
}
jako właściwy kod Java, jesteś bardzo selektywny ze swoją lepkością. Aby uzyskać jednolity kod, potrzebujesz jakiegoś 'public' tam (i chcesz naprawić to białe miejsce w całym miejscu ... pamiętaj, aby przeczytać http://stackoverflow.com/help/how-to-ask - the" pamiętajcie, aby sprawdzić "część nie jest tam dla zabawy." Wiele osób, wliczając w to, zapomnij) –