Einige Methoden aus verschiedenen Klassen nacheinander auszuführen läuft seltsam

MoxMorris

Mitglied
Hallo! Ich hoffe mein Titel ist klar genug 🙂
Ich will jetzt die Methoden aus zwei verschiedenen Klassen nacheinanderfolgend aufrufen.
Hier sind 2 Klassen - Person und ABCD.
Java:
public class Person{
    public ABCD sentence(){
        return new ABCD();
    }
    
}
class ABCD{
    public ABCD() {
        System.out.println("Konstruktor");
    }
    public String etwas() {
        return "etwas-Methode ";
    }
}
Und eine Klasse, die die zwei ausführt.
Java:
public class Test {
    public static void main(String[] args) {
        Person p = new Person();
        p.sentence().etwas();
    }
}

Ausgabe:
Java:
Konstruktor

etwas() Methode wird versäumt, weiß nicht warum. Ich habe gerade die Methode umgeformt(ohne return):
Java:
public void etwas() {
        System.out.println("etwas-Methode ");
    }
und es funktioniert. Ausgabe:
Java:
Konstruktor
etwas-Methode

Worin bessteht das Problem beim ersten Versuch(mit return)?
Vielen Dank im Voraus!

Mit freundlichen Grüßen,
MoxMorris
 
Wenn Du etwas ausgegeben haben willst, dann musst Du auch dafür einen Befehl haben. Etwas zurück zu geben in einer Methode führt natürllich zu keinerlei Ausgabe.

Der Aufruf von p.sentence().etwas(); gibt also einen String zurück. Da Du damit nichts macht, wird der String einfach verworfen.

Du könntest Die Rückgabe z.B. so ausgeben:
System.out.println(p.sentence().etwas());
 

Zurück
Oben