Ein Objekt zurückgeben, was kommt dabei raus ?

Java4win

Aktives Mitglied
Hey Leute,

ich lese gerade das man mit der Methode
Java:
Instant minusSeconds(long wert);

eine Instant zurückgegeben wird...
jedoch frage ich mich wie oder was genau wird aus der Klasse Instant zurückgegeben, es werden ja schließlich nicht alle Methoden aus der Klasse zurückgegeben.

Ich habe diese Klasse geschrieben jedoch eine Fehlermeldung bekommen😀
also so kann der programmieren der Klasse Instant das schon einmal nicht gemacht haben.

Java:
public class Klasse {
   
    int i;
    Klasse klasse = new Klasse(5);
   
    public Klasse(int i){
       
        this.i = i;
       
    }
   
    public Klasse getKlasse(){
       
        return this.klasse; 
    }

}

Die Frage lautet einfach, wie oder was wird zurückgegeben, wenn man ein ganzes Objekt zurückgibt?
 
Dein Code funktioniert nicht, weil du zum Erzeugen einer Instanz von Klasse eine Instanz von Klasse erzeugst, für die die eine Instanz von Klasse erzeugst, für die die eine Instanz von Klasse erzeugst, uswusf 😉


Mit deinem Code ging das zB so:
Java:
public class Klasse {
   
    int i;
 
    public Klasse(int i){
      
        this.i = i;
      
    }
   
    public Klasse getKlasse(){
      
        return new Klasse(5); 
    }

}
 
Mit deinem Code ging das zB so:

Okey erst einmal danke für deine Antwort🙂.

Wenn ich dies nun in der Main Methode ausgebe dann bekomme ich mit System.out.println ....
eine Referenz.
Java:
public class Main {

    public static void main(String[] args) {
      
      
        Klasse klasse = new Klasse(3);
        System.out.println(klasse.getKlasse());
  

    }

}

Doch wie hat das der Programmierer geschafft der die Klasse Instant geschrieben hat das dort nicht eine Referenz zurückgegeben wird sondern bei:
Java:
Instant zeit = new Instant();
Instant zeit2 = zeit.minusSeconds(6);

eine lesbare Uhrzeit ?

Die Methode Instant minusSeconds(long wert){

}
liefert ja auch ein Objekt zurück...
ich bin etwas verwirrt aber ich möchte es verstehen 😀
 
Das, was mit System.out.print ausgegeben wird, ist das, was toString zurückgibt.
In Instant wurde toString so überschrieben, dass es eine lesbare Uhrzeit zurückgibt.
In deiner Klasse könntest du es zB so überschreiben, dass i zurückgegeben wird.
 

Zurück
Oben