2013-09-04 2 views
0

Plus précis sur la question: // Il sont deux classes A et B:Comment définir la relation entre les classes de Java?

Class A { 
public static List<B> b = new ArrayList<B>(); 
} 

Class B { 
} 

Dans mon schéma, je veux un b d'objets de la classe B. Ensuite, en toutes circonstances, l'objet b impliquera au moins deux objets "a_x" et "a_y" de classe A. Comment puis-je créer une telle relation?

Répondre

1

Première chose, ce public static List<B> b = new List<B>(); ne compilera pas.

Vous pourriez avoir besoin du public static List<B> b = new ArrayList<B>();

Vous ne pouvez pas instancier un Interface.So fournir une implémentation concreate. Ex:ArrayList

Et deuxième chose, vous devez les ajouter directement où vous créez ce list.

0

Si vous avez une relation où chaque B est lié à au moins deuxA cas, alors B a besoin d'un champ typé collection. Par exemple:

public class B { 
     private List<A> relatedAList = new ArrayList<>(); 
     ... 
    } 

Ceci doit être un champ d'instance, pas un champ statique.

Mais si vous avez une relation 2+, il n'a pas de sens d'appeler les objets liés x et y ... parce que s'il y a un z, et un p et ainsi de suite. À moins qu'il n'y ait une limite supérieure fixe sur le nombre d'objets connexes A pour chaque B, vous devez utiliser une sorte de collection pour représenter chaque A s B.

0

C'est la relation:

class A 
{ 
    public List<B> b = new ArrayList<B>(); 
} 

class B 
{ 

    A ax; 
    A ay; 

    B(A ax, A ay) 
    { 
     this.ax = ax; 
     this.ay = ay; 
    } 
} 

C'est ce que vous avez besoin?

Pourquoi avez-vous besoin d'une telle relance?

Questions connexes