それが動作していない、私は次のようなメッセージになっています:のJavaへのアクセス方法、私はクラスBのクラスAからメソッドにアクセスしたいが、私はクラスAとBを持っている
例外をスレッド内の「メイン」のjava.lang.NullPointerException
これを引き起こしている特定の部分がba
にアクセスしているとき:
ba.getBalance() >= LIM
ba.debit(LIM);
私はDだかわからないんだけどプライベートフィールドを作成し、メインフィールド内で初期化したので間違っています。
クラスB:
public class B {
private A ba;
private long balance;
public B(long amount, A ba){
}
public boolean testCase(long amount){
//..
}
public long getBalance(){
return balance;
}
クラスA:
public class A {
private long balance;
public A(long amount){
}
public boolean debit(long amount){
//.. simple arithmetic
}
public long getBalance(){
return balance;
}
メイン
A aa = new BankAccount(amount1); // where amounts are user input
B bb = new GoCardAccount(amount2, aa);
'amount'に対して行うように、' B'コンストラクタに渡す 'ba'のインスタンスをプライベートフィールドメンバー' ba'に割り当てる必要があります。 : 'public B(long amount、A ba){this.ba = ba; this.balance = amount} ' –