0

ここでは少し助けが必要です。、、、の3 つのクラスBookMemberありBeanます。

Book.java

public class Book
{
  public Member m=null;
  // various getter & setter methods
}

メンバー.java

public class Member
{
  public Book b=null;
  // various getter & setter methods
}

Bean.javaクラスのオブジェクトを作成し、このBookオブジェクトを介して Book と Member クラスのすべてのメソッドにアクセスする必要があります。問題は、Book で作成された Member クラスのオブジェクトが初期化されておらず、new 演算子を使用して初期化できないことです。それを静的にすることはできません。new 演算子を使用すると、結果は得られません。

4

1 に答える 1

0

この設計は正しくありません。

循環依存があります。

BookMemberとがMemberありBookます。

このデザインを再確認する必要があります。

依存関係を整理したら、コンストラクター注入がこれを修正する最も簡単な方法です。

更新: 私が正しいと感じるデザインを修正しました。

//Book  
public class Book {
   private String bookName;
   private String authorName;
   //getters and setters
}

//Member will have a book (maybe multiple) associated with them  
public class Member {
     private Book[] bookArray;
     public Member (Book... books) {
         this.bookArray = books;
     }
}
于 2013-04-15T05:27:56.957 に答える