Tôi đang cố gán một mảng đối tượng lớp con cho lớp siêu của nó. Chương trình biên dịch thành công, nhưng tôi nhận được ArrayStoreException
. Tôi biết rằng các mảng cha và con là tham chiếu đến cùng một mảng, nhưng tôi không nên truy cập phương thức func
ít nhất?Java: Đối tượng mảng siêu lớp được gán với đối tượng mảng lớp phụ
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();
}
}
là mã java phù hợp, bạn đang rất chọn lọc với khả năng hiển thị của mình. Đối với mã thống nhất, bạn muốn một số 'công khai' trong đó (và bạn muốn sửa chữa khoảng trống đó ở khắp nơi ... hãy nhớ đọc qua http://stackoverflow.com/help/how-to-ask - the" hãy nhớ đọc "phần không có trong đó chỉ để cho vui. Nhiều người, bạn đã bao gồm, quên) –