我想調用一個超類的對象的子類方法,但因爲我在子類中聲明瞭另一個整數它給我一個例外,是否有一個解決方法,使這種情況發生?如何調用父類的子類方法對象
public static void main(String[]args){
A a = new A(2,3);
B b = new B(3,5,6);
System.out.println("A object: ");
a.showij();
System.out.print("sum = ");
((B) a).sum(); < ==== this line gives me the error, can't cast
System.out.println("B object: ");
b.showij();
System.out.print("sum = ");
b.sum();
}
public class B extends A {
int k;
public B(){
super();
}
public B(int a, int b, int c) {
super(a, b);
k = c;
}
public void sum(){
System.out.println(i + j + k);
}
}
public class A {
int i,j;
public A() {
}
public A(int a, int b){
i = a;
j = b;
}
public void showij(){
System.out.println("\ti: " + i + " j: " + j);
}
}
*編輯:這裏是整個事情
你能證明什麼'A'和'B'? – sanbhat
你不清楚你在問什麼,也沒有看到「A」和「B」的定義,我認爲任何人都不能理解哪些類可以使用哪些方法。 –
A是需要2個整數的父類java,B是擴展A並帶3個整數的子類,B類是方法sum,它總結了整數i,j和k –