これは私のコードです。メソッドのオーバーライドの簡単なデモ。
public class Bond {
void display() {
System.out.println("Bond");
}
}
public class ConvertibleBond extends Bond {
void display() {
System.out.println("ConvertibleBond");
}
}
public class Pg177E2 {
public static void main(String[]args) {
int random = (int)(10*Math.random());
Bond bond[] = new ConvertibleBond[6];
for(int i = 0; i < 6 ;i++) {
if(random < 5) {
bond[i] = new Bond(); // the problem occurs here
} else if(random > 5) {
bond[i] = new ConvertibleBond();
}
}
for(int i = 0; i < 6; i++) {
bond[i].display();
}
}
}
これは非常に簡単で、うまくいくはずです。ただし、ArrayPointStoreException
およびとして表示されNullPointerException
ます。誰でも私を助けてもらえますか?何を間違えたのかわかりません。すべてが順番に配置されているように見えます。クラスはすべて同じパッケージに含まれています。