Warum kein return wert?

java__neuling

Aktives Mitglied
Hallo,

ich habe mal wieder eine frage -.-.

Könntihr mir bitte mal erklären warum mir beim starten des folgendens programmes nicht der name ausgebeben wird, obwogl ich diesen in der return methode anspreche...

Java:
public class Student {

private String name;
private int alter;

public Student(String nachname, int alter_) {
	name = nachname;
	alter = alter_;
 }


public String getName(){
	return name;
}


public static void main(String[] args) {
          Student student1 = new Student ("Seidler", 6);

          //System.out.println(student1.name);
          student1.getName();
    }
}


mal wieder besten dank!

ciao
 

Murray

Top Contributor
Weil da nur eine Methodenaufruf steht. Mit dem Ergebnis passiert nichts. Wenn es ausgegeben werden soll, dann wäre z.B. System.out.println( student1.getName()) eine Lösung.
 

java__neuling

Aktives Mitglied
...ich dachte eigentlich das return ist dazu da mit die werte auf der systemkosole auszugeben.....??

@
Murray

wenn das so ist dann kann ich das
Java:
System.out.println
auch direkt in die get-methode schreiben bzw. daraus eine set-methode machen da ja anscheined nichts zurrückgegeben wird sonder "nur" etwas ausgegeben wird.

aber was ist nun der unterschied zwischen ausgeben und zurückgeben.

mir wäre eigentlich am besten geholfen wenn mir hier jemand mal ein kleines programm zeigen könnte wo
die
Java:
return;
anweisung auch wirklich sinn macht...

wäre wirklich super danke!
 

Cola_Colin

Top Contributor
..ich dachte eigentlich das return ist dazu da mit die werte auf der systemkosole auszugeben.....??

Nein, der ist dazu da, Ergebnisse zurück liefern zu können.

Beispiel für ein sinnvolles Return:
Java:
public int add(int a, int b) {
	return a+b;
}

public static void main(String[] args) {
	int result = add(10, 10);
	System.out.println(result);
}

Bei dir geht es schlich um Kapselung des Namen. Der Gedanke hinter Kapselung ist, dass die Student-Klasse volle Kontrolle darüber erlangt, welche Informationen andere Klassen von ihr abfragen können.
Im getName() könnte die Klasse zum Beispiel zählen, wie häufig der Name abgefragt wurde, etc. pp.
 

java__neuling

Aktives Mitglied
gut langsam versehe ich das

aber ist schon komisch. letzentlich ist es ja wumpe welche typ von methode ich nun nutze.

wenn ich weiß wie ich mit diesem umgehen kann, kann ich mit beiden methoden (also methode mit und ohne rückgabewert) das gleiche erreichen.

siehe quelltext:

Java:
public class Student {

private int zahl1;
private int zahl2;

 public Student(int zahla, int zahlb){
	 zahl1 = zahla;
	 zahl2 = zahlb;
 }

 public int rechne1 (int zahla, int zahlb){ //GET-Methode!!!!

	 return zahla + zahlb;
 }


  public void rechne2 (int zahlc, int zahld){ //SET-Methode!!!!

 	 int ergebnis;
 	 ergebnis = zahlc + zahld;
 	 System.out.println("LOL" + ergebnis);
 }


public static void main(String[] args) {
          Student student1 = new Student (5, 6);
          Student student2 = new Student (5, 6);


		 student2.rechne2(5, 6); //Ergebnis aus Set-Methode

         System.out.println(student1.rechne1(5, 6)); //Ergebnis aus GET-Methode


    }
}


oder sehe ich das falsch?

danke!
 

Cola_Colin

Top Contributor
Du hast nicht verstanden, was man get und set Methoden gemeint ist.

Eine set-Methode setzt einen Wert eines Feldes von einem Objekt.

Eine get-Methode fragt den Wert eines Feldes hingegen ab.

Der Vorteil ist nun, dass die Klasse in diesen Methoden Kontrolle ausüben kann über die Informationen, die nach außen hin sichtbar sind.

Mit return haben get und set nichts zu tun.

Aufgabe: Stelle eine Liste von 10 Studenten auf, frage von denen z.B. jeweils das Alter ab und addiere alle zusammen.
Schreibe das Endergebnis in die Konsole.

Da hilft es dir wenig, wenn das Objekt direkt die abgefragte Zahl in die Konsole schreibt. Du willst sie ja gar nicht ausgeben sondern mit ihr weiter rechnen.
 
M

Marco01_809

Gast
Es ist schlecht programmiert, wenn dir irgendeine Methode irgendwas einfach so in die Konsole textet.

getter und setter sind dazu da, um Instanz-Variablen eines Objektes zu bekommen (get) oder zu setzen (set).

z.B.
Java:
class GetUndSetBeispiel {
     private int meineTolleZahl;

     public int getMeineTolleZahl() {
          return meineTolleZahl;
     }

     public void setMeineTolleZahl(int meineTolleZahl) {
          this.meineTolleZahl = meineTolleZahl;
     }
}

Übrigens:
Java:
public void rechne2 (int zahlc, int zahld){ // Keine SET-Methode!!!!
     int ergebnis;
     ergebnis = zahlc + zahld;
     System.out.println("LOL" + ergebnis);
 }
Kannst du auf das hier verkürzen:
Java:
public void rechne2 (int zahlc, int zahld){ // Keine SET-Methode!!!!
     int ergebnis = zahlc + zahld;
     System.out.println("LOL" + ergebnis);
 }
Oder Gleich:
Java:
public void rechne2 (int zahlc, int zahld){ // Keine SET-Methode!!!!
     System.out.println("LOL" + (zahlc + zahld));
 }
Solltest du aber sowieso umbennen, denn rechnen kann man das ja nicht wirklich nennen.
Du gibst zwei Werte mit, aber erhälst sie nicht zurück => Kein Rechnen
Java:
public void outputAddition(int zahlc, int zahld){ // Keine SET-Methode!!!!
     System.out.println("LOL" + (zahlc + zahld));
 }
o.ä.
 

Illuvatar

Top Contributor
Noch ein ganz einfaches Beispiel warum "return" sinnvoll ist:
Java:
import javax.swing.JOptionPane;

public class Rechner {

  public int berechne(int a, int b) {
    // komplizierte rechnung
    return a + b;
  }
  
  public static void main(String[] args)
  {
    Rechner rechner = new Rechner();
    
    int ergebnis1 = rechner.berechne(4, 9);
    System.out.println("Ergebnis 1 gibts hier: " + ergebnis1);
    
    int ergebnis2 = rechner.berechne(23, 42);
    JOptionPane.showMessageDialog(null, String.valueOf(ergebnis2),
      "Aber Ergebnis 2 gibts hier!", JOptionPane.INFORMATION_MESSAGE);
      
    System.out.println("Fertig! Tschüss.");
  }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Jul1n4tor Scanner error bei Eingabe die kein Integer ist Java Basics - Anfänger-Themen 4
M intelliJ auf neuem PC, plötzlich kein Code Java Basics - Anfänger-Themen 3
K Schleife berechnet kein Ergebnis (Vererbung) Java Basics - Anfänger-Themen 6
C Kein Zugriff auf Klassenmethoden in Main Methode Java Basics - Anfänger-Themen 23
Nina Pohl Ein Vorgang bezog sich auf ein Objekt, das kein Socket ist Java Basics - Anfänger-Themen 6
M Kein Shortcut? Java Basics - Anfänger-Themen 7
moiss002 Umgebungsvariable Kein Zugriff auf ein Array Java Basics - Anfänger-Themen 7
GermanPie Fehler in Putty (kein Hauptmanifestattribut, in jar) Java Basics - Anfänger-Themen 4
Z Kein überprüfen des gesamten Arrays möglich.(Viergewinnt Spiel) Java Basics - Anfänger-Themen 6
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
B Warum bekomme ich kein Bild. Java Basics - Anfänger-Themen 10
D kein hauptmanifestattribut in dateiname.jar Java Basics - Anfänger-Themen 14
X Methode bei mehrfachen Aufruf kein Effekt Java Basics - Anfänger-Themen 3
Z Warum kein Dreieck aus Sternen? Java Basics - Anfänger-Themen 9
T In C:\java\bin wird kein javac angezeigt. Java Basics - Anfänger-Themen 1
B Wieso gibt das Programm in der Console kein Ergebnis aus? Java Basics - Anfänger-Themen 2
N kein Sound beim Öffnen der jar-Datei, in Eclipse schon Java Basics - Anfänger-Themen 1
I Shutdown wenn kein Strom verfügbar Java Basics - Anfänger-Themen 4
K Interface Kein Bild im .jar-File Java Basics - Anfänger-Themen 15
X Best Practice SUCHE ein gutes Javabuch! (kein Anfang von 0) Java Basics - Anfänger-Themen 5
N Input/Output Wenn kein Input, dann Fehler anzeigen lassen im JFrame Java Basics - Anfänger-Themen 6
H Kein Zugriff auf das Element einer JList möglich: Fehlermeldung Java Basics - Anfänger-Themen 2
J Umgebungsvariable Programmfenster zeigt kein Bild an Java Basics - Anfänger-Themen 1
T Objektorientierte Programmierung - Kein Plan wieso das nicht funktioniert! Java Basics - Anfänger-Themen 6
B Compiler-Fehler 86:11: error: ';' expected obwohl kein ";" hingehört! Java Basics - Anfänger-Themen 10
T Compiler-Fehler Methode ist Abstrakt obwohl kein Schlüsselwort gesetzt wurde Java Basics - Anfänger-Themen 5
V Kann kein Java Projekt mehr mit Eclipse erstellen Java Basics - Anfänger-Themen 5
Joew0815 Methoden Objekt als Methoden-Parameter - Kein call-by-reference? Java Basics - Anfänger-Themen 12
J Warum kein new ? Java Basics - Anfänger-Themen 10
D Kein Zugriff auf JFrame Java Basics - Anfänger-Themen 2
C Klassen Wieso kein infiniter Regress? Java Basics - Anfänger-Themen 4
N Kein Zugriff auf Ordner -> NullPointerException Java Basics - Anfänger-Themen 2
I kein zugriff auf jList oder Textfield Java Basics - Anfänger-Themen 2
X Fehler beim Öffnen von Jar Datei: "kein Hauptmanifestattribut" Java Basics - Anfänger-Themen 5
D Classpath Kein Zugriff Java Basics - Anfänger-Themen 9
Xendarii Quicksort gibt kein Ergebnis aus Java Basics - Anfänger-Themen 13
K Warum ist ein Singleton kein Best Practise? Java Basics - Anfänger-Themen 3
J ResultSet.getStrin - doch kein String? oder wo liegt das Problem? Java Basics - Anfänger-Themen 3
Kenan89 JScrollPane, aber kein Scrollbalken Java Basics - Anfänger-Themen 4
G Generics kein Zugriff auf getter eines Objekts Java Basics - Anfänger-Themen 4
M In Netbeans kein Problem, im Terminal schon Java Basics - Anfänger-Themen 3
E Kein Rechtzeitiger Abbruch bei Rekursiverfunktion Java Basics - Anfänger-Themen 8
C Stringeingabe: kein Satz wegen Leerzeichen möglich Java Basics - Anfänger-Themen 3
I Warum kein this in Methode Java Basics - Anfänger-Themen 17
V Kein neuer Thread trotz Runnable Java Basics - Anfänger-Themen 4
H Erste Schritte Kein Zugriff auf einen button der ein Ereignis ausgelöst hat Java Basics - Anfänger-Themen 2
M Kann kein Objekt (AudioFile in diesem Beispiel) für ein leeren String erzeugen Java Basics - Anfänger-Themen 3
K SWT Fehler obwohl kein SWT benutzt wird Java Basics - Anfänger-Themen 4
L String: Objekt und doch kein Objekt? Java Basics - Anfänger-Themen 5
S kein sound? Java Basics - Anfänger-Themen 3
T JTextPane - setText kein kein neuladen der Bilder? Java Basics - Anfänger-Themen 8
L Kein System.out Java Basics - Anfänger-Themen 14
T Warum öffnet sich kein Fenster? Java Basics - Anfänger-Themen 3
c_sidi90 jTextarea kein Zeilenumbruch erlauben Java Basics - Anfänger-Themen 4
M Kein Sound in der .jar, davor schon Java Basics - Anfänger-Themen 6
alderwaran closed source jar, kein javadoc. was macht methode x eigentlich? ( oracle forms pjc beans ) Java Basics - Anfänger-Themen 2
K Arrays - Komma zu viel, kein Problem? Java Basics - Anfänger-Themen 3
G erweiterte for schleife kein new? Java Basics - Anfänger-Themen 4
I Kein Zugriff auf erstelltes Objekt aus anderer Methode Java Basics - Anfänger-Themen 6
C warum liefert equals kein TRUE Java Basics - Anfänger-Themen 12
T meinThread.wait(); wirft immer Exeption & hat kein Effekt Java Basics - Anfänger-Themen 15
Houly kein bild im JFrame bei Mp3 Wiedergabe Java Basics - Anfänger-Themen 5
T Jar-Archive kein System.out.println()?? Java Basics - Anfänger-Themen 5
W "Kein korrekter Schleifendurchlauf" Java Basics - Anfänger-Themen 3
S Kein Event bei Click auf JComboBox Java Basics - Anfänger-Themen 4
radiac Wieso bekomme ich kein Bild drauf??? Java Basics - Anfänger-Themen 13
W peinliches Problem - Kein Konstruktor? Java Basics - Anfänger-Themen 10
Spot84 kein interface iEditorInput Java Basics - Anfänger-Themen 2
Kasoki Compilen von Java Scripts (Nein kein JavaScript xD) Java Basics - Anfänger-Themen 13
G Logger mag kein Linux Java Basics - Anfänger-Themen 3
M erzugt kein objekt Java Basics - Anfänger-Themen 18
L Kein Zugriff auf Listen in einem Array Java Basics - Anfänger-Themen 2
G GUI von wiederholender Methode füttern; kein Programmende Java Basics - Anfänger-Themen 2
K kein Sound beim Öffnen der jar-Datei, in Eclipse schon Java Basics - Anfänger-Themen 2
P Eclipse startet kein Applet Java Basics - Anfänger-Themen 6
G Kein EJB-Package vorhanden Java Basics - Anfänger-Themen 2
A kein zugriff auf variable trotz public? Java Basics - Anfänger-Themen 3
F Seltsame Zeichen und kein Zeichenumbruch mit Filewriter Java Basics - Anfänger-Themen 4
S Kein Zugriff auf Files in Jar-Datei Java Basics - Anfänger-Themen 4
C Kann kein Java Programm starten Java Basics - Anfänger-Themen 8
G Auf Bildschirm (kein Fenster) schreiben Java Basics - Anfänger-Themen 2
G kein Zugriff auf eine Klasse in einem Unterordner Java Basics - Anfänger-Themen 11
M Prüfen, ob Tag im Jahr kein Samstag/Sonntag ist Java Basics - Anfänger-Themen 7
G kein text im dialogfeld Java Basics - Anfänger-Themen 3
K JavaKara Programm - erfolgreich compiliert jedoch kein Start Java Basics - Anfänger-Themen 12
M SystemTray zeigt kein Icon an Java Basics - Anfänger-Themen 11
L Warum öffnet sich aus einer .jar-Datei kein Dosfenster? Java Basics - Anfänger-Themen 5
G Listen, über Listen. und doch kein Überblick Java Basics - Anfänger-Themen 8
I translate.java - kein sichtbarer fehler im quelltext Java Basics - Anfänger-Themen 18
S Kein wirklicher Ansatz Java Basics - Anfänger-Themen 6
F Kann kein Programm über die Konsole ausführen Java Basics - Anfänger-Themen 5
G Habe bei String kein split()? Java Basics - Anfänger-Themen 7
G Kein Runden Java Basics - Anfänger-Themen 3
G readln, aber kein writeln :( Java Basics - Anfänger-Themen 12
G Kein main Type? Java Basics - Anfänger-Themen 3
R Klasse nicht sichtbar(kein private-Fehler) Java Basics - Anfänger-Themen 2
H kein lösungs ansatz mit java Java Basics - Anfänger-Themen 4
S Layout Probleme (Kein Adden möglich) Java Basics - Anfänger-Themen 18
M JSP: Cookies setzen ist kein Problem, aber wieder ändern ??? Java Basics - Anfänger-Themen 3
W mehrere Strings vergleichen, (kein equal-Problem) Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben