mustino: new - Operator

Hi,

ich habe ein kleines Verständnisproblem mit dem new-Operator.

Syntaktisch ist es möglich eine Methode zu schreiben, die als Parameter ein Objekt erwartet, das keiner Variablen zugewiesen wurde.

Beispiel:

public eineMethode (new eineKlasse()){ ... }

Ich verstehe nicht wie auf das Objekt ohne Variablenzuweisung anschließend zugegriffen werden soll?

Hilfreich wäre vielleicht auch ein Link.

Gruß

mustino

  1. Hallo,

    public eineMethode (new eineKlasse()){ ... }

    Das ist nicht die Deklaration, sondern der Aufruf einer Methode.

    Ich verstehe nicht wie auf das Objekt ohne Variablenzuweisung anschließend zugegriffen werden soll?

    In der Deklaration steht ein Name des Parameters, auf den kannst du zugreifen.

    Viele Grüße

    --
    Mit zunehmendem Fortschritt der Zeit ist mit proportional ansteigendem Lebensalter zu rechnen.
    Selfcode: ie:( fl:| br:^ va:| ls:[ fo:) rl:( n4:| ss:| de:[ js:| ch:? sh:( mo:) zu:|
    1. Hallo,

      public eineMethode (new eineKlasse()){ ... }

      Das ist nicht die Deklaration, sondern der Aufruf einer Methode.

      Genaugenommen ist es weder das eine noch das andere. Es könnte eines
      von beiden sein:

      public eineMethode(EineKlasse klasse)
        {
          // Methodencode
          eineKlasse.methode(2);
        }

      oder

      eineMethode(new EineKlasse());

      Gruß
      Slyh

      1. HI,

        Jungs ihr habt mir echt geholfen. Es ist trivial aber ich hatte irgendwie einen Denkfehler! DANKE!!!

    2. Hallo Richard ;~)

      public eineMethode (new eineKlasse()){ ... }
      Das ist nicht die Deklaration, sondern der Aufruf einer Methode.

      Das ist auch kein Aufruf der Methode.
      Ein Aufruf enthält weder Datenkapselung, noch Definitionsteil.

      Mit freundlichen Grüßen
      Stefano Albrecht

  2. Hallo,

    Syntaktisch ist es möglich eine Methode zu schreiben, die als Parameter ein Objekt erwartet, das keiner Variablen zugewiesen wurde.

    Ja, aber ja nur im aufrufenden Teil des Codes. In der Methode selbst
    wird das Objekt ja dem Parameter (=lokale Variable) zugewiesen.

    Beispiel:

    public eineMethode (new eineKlasse()){ ... }

    Das ist syntaktisch inkorrekt. Was du vermutlich meintest ist:

    eineMethode(new EineKlasse());

    Das Objekt wird jetzt als Parameter an 'eineMethode' übergeben und
    dort dem Parameter zugewiesen. (Genauer: Die Referenz auf das Objekt
    wird dem Parameter zugewiesen.)
    Innerhalb der Methode, in der 'eineMethode' aufgerufen wird, ist das
    so erzeugte Objekt nicht zugreifbar.

    Gruß
    Slyh