2016-08-08 7 views
-1

Hier in diesem Codefragment der Objektrelation nehme ich Bezug auf die Klasse Zwei in der Klasse Eins und damit auf die Mitglieder der Klasse Zwei.Was passiert, wenn ich ein Objekt der Klasse Zwei in Class One selbst erstelle und dann auf Daten der Klasse Zwei zugreife ... Was wird der Unterschied sein?

Was passiert, wenn ich Klasse Two-Objekt in Class One selbst erstellen und dann auf seine Methoden zugreifen? Was wird der Unterschied dabei sein?

Ich weiß, ich vermisse hier etwas Konzept, aber ich verstehe es nicht.

// Object Relation Using References 

package Object_Relation; 
class One { 
    // Instance Variables 
    int x; 
    Two t; 
    public One(Two t) { 
     this.t = t; 
     x=10; 
    } 

    void display() { 
     System.out.println("Class One Members : "); 
     System.out.println("x = "+x); 
     System.out.println("Displaying Class Two Members using its Method"); 
     t.display(); 
    System.out.println("Displaying Class Two Members using its reference :"); 
     System.out.println("y = "+t.y); 
    } 
} 

class Two { 

    // Instance Variables 
    int y; 
    public Two(int y) { 
     this.y = y; 
    } 

    public void display() { 
     System.out.println("y = "+y); 
    } 

} 

public class UsingReference { 
    public static void main(String[] args) { 
     Two t2 = new Two(20); 
     One o = new One(t2); 
     o.display(); 
    } 
} 
+0

Ist das eine echte Frage? Was fragst du? –

+0

Sehen Sie, wenn das folgende hilft: http://Stackoverflow.com/questions/2399544/difference-between-inheritance-and-composition –

+0

@TimBiegeleisen Meine Abfrage ist, dass ich die gleiche Ausgabe von beiden Wegen erhalten kann, bin ich verwirrt in beiden Ansätzen. – Jian25

Antwort

0

Ich bin mir nicht sicher, was genau die Frage ist?

Aber hier im Beispiel eins und zwei sind beide unterschiedliche Klassen. Und um auf die nicht statischen Membervariablen zugreifen zu können, benötigen Sie ein Objekt der Klasse Two.

Sind Sie für einige Konzepte über innere Klasse in Java suchen: - Beispiel

public class OuterClass { 

    int i; 

    public void method1() { 
    System.out.println("Inside Method 1"); 
    } 

    class InnerClass { 
    int j; 

    public void method2() { 
     System.out.println("Inside Method 2"); 
    } 
    } 

    public static void main(String[] args) { 
    // To instantiate an inner class, you must first instantiate the outer class 
    OuterClass outerObject = new OuterClass(); 
    outerObject.method1(); 

    // Then, create the inner object within the outer object 
    OuterClass.InnerClass innerObject = outerObject.new InnerClass(); 
    innerObject.method2(); 
    } 

} 

PS: Hier Innerclass ist ein Mitglied der OuterClass.

+0

Ich bin in der Lage, die gleiche Ausgabe von beiden Wegen zu bekommen, ich bin in beiden Ansätzen verwirrt. – Jian25

+0

Ich denke, dann suchen Sie nach Abhängigkeits-Injektionskonzept. – Dyuti

Verwandte Themen