Aufgabe Klasseerstellung

Human007

Mitglied
Hallo,
ich habe hier eine Aufgabe mit Lösung. Ich verstehe aber nicht ganz noch nicht den Quellcode

Ich poste einfach mal die Lösung und stelle meine Fragen dazu.

Java:
class Student {
long mtrNum;
String name;
long getMtrNum() {
return mtrNum;
}
String getName() {
return name;
}
void setMtrNum(long mtrNum) {
this.mtrNum = mtrNum;
}
void setName(String name) {
this.name = name;
}
Student() {
}
Student(long mtrNum, String name) {
this.mtrNum = mtrNum;
this.name = name;
}
String toString() {
return "Student [mtrNum=" + mtrNum + ", name=" + name + "]";
}
}

so nun zu meinen Fragen: warum schreibt man bei void anweisung dieses this und bei manchen return. Wann benutze ich welches? GIbt es da eine Regel? Also z.B bei void this und bei normalen Variablen return. Und die letzten beiden Zeilen blick ich auch nicht. Kann mir das jemand verstänlich erklären??
Ich bedanke mich vorab für die Antworten!!!
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
Code:
this

deutet wenn es alleine steht auf das aktuelle Objekt selbst.

Code:
this.feld

deutet wenn es in Verbindung mit dem Punkt Operator genutzt wird , auf ein Feld der aktuellen Instanz ( des Objektes).

Code:
return

definiert einen rückgabewert, dieser wird jeweils im Methodenkopf deklariert, der standard Rückgabewert ist

Code:
void

und bedeutet das nichts zurückgegeben wird.

Hier z.B

Java:
public void setName(String name){
this.name = name;
}

diese art der Methoden nennt man auch Setter,
Der Rückgabewert ist hier void, also nichts,
da der Eingabeparameter ebenso benannt ist wie das Attribut der Klasse, also die Instanzvariable oder auch Member genannt ist, würde ohne den Verweis über this. eine zuweisung an sich selbst stattfinden, wenn die Eingabeparameter anders benannt sind als die Objekteigenen Felder, kannst du auf ein this. verzichten.


wenn man einen anderen Rückgabewert deklariert muss man zwingend auch ein
Code:
return
verwenden da eben ein Objekt oder ein primitiver Datentyp zurückgegeben werden muss.
 
Zuletzt bearbeitet:

Gucky

Top Contributor
Der Code ist grauenvoll formatiert. Wenn du den in eine vernünftige Form bringst, dann würde man den auch besser lesen können. ;)

Zu deinen Fragen:
this bedeutet nur, dass auf ein Element (Variable, Methode) aus der Klasse zugegriffen wird und nicht auf das Lokale der Methode. Es ist nämlich möglich in der Klasse eine Variable x zu haben und in einer Methode hat man auch eine Variable x. Die zweite Variable verdeckt die Erste. Mit this.x kann man dennoch darauf zugreifen.
Steht this alleine, so steht es für das Objekt, in dem es aufgerufen wird.

return ist die Anweisung für den Interpreter dorthin zu springen, wo er her kam. Also in die aufrufende Methode. Steht dahinter ein Wert und der Datentyp stimmt mit dem Datentyp der Methode überein, kann der dem return ein Wert mitgegeben werden.

System.out.println(foo());
String foo(){return "bar";}

Ausgabe: bar



Strings lassen sich mit primitiven Datentypen (int, byte usw.) und anderen Strings addieren. Dann wird der Teil einfach hinten dran gehangen.

int alter = 4;
String test = "Ich bin schon groß und " + alter + ".";

Ergebnis: ich bin schon groß und 4.



EDIT: Mist. Da war jemand schneller. :D
 
Zuletzt bearbeitet:

Human007

Mitglied
Könnt ihr mir die 23 und 24 Zeile erklären bitte. Versteh das immer noch nicht richtig wozu das da ist. Wenn ich jetzt den Konstruktor in einer anderes Klasse aufrufen möchte und ihm Werte geben möchte mache ich ja

Student M1= new Student(20,"Mann");
System.out.println(M1.toString());

Frage: muss ich am Ende diesen public String da hinzufügen oder geht das auch ohne ?

und noch eine andere Frage: Ich habe in einem Quellcode auch diese Bezeichung gesehen:
public classe Punkt{
double x
double y
public Punkt(double x, double y) {
this.setX(x);
this.setY(y);

was ist da der Sinn? Warum schreibt man nicht this.x=x; Oder ist es genau dasselbe?
 

Gucky

Top Contributor
Welchen public String? Der Aufruf von .toString() ist unnötig, da er sowieso getätigt wird, sofern nur ein Objekt ausgegeben werden soll.

Das ist Geschmackssache. Attribute haben immer private zu sein aber innerhalb einer Klasse ist es Geschmackssache, ob man private Attribute mit Settern setzt oder einfach this.x=x schreibt. Es kommt auf dasselbe hinaus und performancemäßig wird es auch sehr ähnlich, wenn nicht gleich sein.
 

Gucky

Top Contributor
Wenn du System.out.println() einen Parameter vom Typ Object übergibst, dann ruft System.out.prinln() toString() von dem übergebenen Parameter auf.
 

Gucky

Top Contributor
In der Regel ja. Innerhalb einer Klasse muss man sich überlegen, ob man Setter verwendet oder den Methoden direkten Zugriff auf die Attribute gewährt. Ich tue immer Letzteres und arbeite innerhalb einer Klasse nicht mit Settern. this.setX(x) tut dasselbe, wie this.x=x. Aber es ist halt Geschmackssache, was man verwendet.

Java:
Student st = new Student(20, Student.MÄNNLICH);
System.out.println(st); //st wird übergeben, println() ruft toString() von st auf, Ausgabe: Student 20, männlich
System.out.println(st.toString()); //Student 20, männlich wird println() übergeben, println() stellt den String dar
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Buchstabenzähler-Aufgabe mit Arrays Java Basics - Anfänger-Themen 5
Jere58 Aufgabe zu Mustern Java Basics - Anfänger-Themen 1
M Interfaces Aufgabe Java Basics - Anfänger-Themen 2
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
Justin4687 Benötige Hilfe bei folgender Aufgabe Java Basics - Anfänger-Themen 2
A Erste Schritte Aufgabe mit while Schleife Java Basics - Anfänger-Themen 11
S Hilfe zu einer Aufgabe Java Basics - Anfänger-Themen 5
M Java Programmierung Aufgabe Anfänger Java Basics - Anfänger-Themen 1
R Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
Mikejr Java Berg aufgabe Java Basics - Anfänger-Themen 6
frager2345 Aufgabe Hash Objekt Elemente ausgeben Java Basics - Anfänger-Themen 2
berserkerdq2 Habe ich die Aufgabe richtig gelöst? Java Basics - Anfänger-Themen 3
D Hilfe bei einer Aufgabe mit for-Schleife Java Basics - Anfänger-Themen 6
Neuling47 Ich zerbreche mit den kopf an einer Aufgabe Java Basics - Anfänger-Themen 61
G Fragen zu Kompelierfehler in Aufgabe. Java Basics - Anfänger-Themen 25
Robert_Klaus Hamster java Simulation Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
milan123 das ist meine aufgabe ich hab das problem das bei mir Wenn ich die Richtung der Linien verändern will und drei davon sind richtig, verändere ich die 4 Java Basics - Anfänger-Themen 3
M Verständins Problem bei Aufgabe Java Basics - Anfänger-Themen 4
T Informatik Studium Aufgabe Java Basics - Anfänger-Themen 4
T Aufgabe Informatik Studium Java Basics - Anfänger-Themen 10
G matrix aufgabe Java Basics - Anfänger-Themen 22
J Brauche Hilfe bei for-each Aufgabe Java Basics - Anfänger-Themen 1
9 Aufgabe Bruttorechner Java Basics - Anfänger-Themen 14
N Fehler im Code (Aufgabe für Anfänger) Java Basics - Anfänger-Themen 11
J Brauche Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
J boolean aufgabe Java Basics - Anfänger-Themen 9
D Snake-Spiel ähnliche Aufgabe Hilfe Java Basics - Anfänger-Themen 3
M Hilfe - Array Aufgabe Java Basics - Anfänger-Themen 8
StevenGG Aufgabe im Studium Java Basics - Anfänger-Themen 36
G Strings auf Gleichheit prüfen - Aufgabe vom Prof. Java Basics - Anfänger-Themen 5
S Schulaufgabe - verstehe leider die Aufgabe nicht Java Basics - Anfänger-Themen 4
Leo0909 Ich brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 2
R Eclipse Aufgabe Java Basics - Anfänger-Themen 4
J OOP-Aufgabe Java Basics - Anfänger-Themen 15
Helix19 Informatik Grundkurs (Haus-)Aufgabe Java Basics - Anfänger-Themen 5
P eine kleine Aufgabe mit Audio Java Basics - Anfänger-Themen 1
TimoN11 Verständnisfrage bei Aufgabe Java Basics - Anfänger-Themen 2
TimoN11 Java spezielle Suchprobleme - Aufgabe Java Basics - Anfänger-Themen 5
M Könnte mir jemand diese Aufgabe erklären? Java Basics - Anfänger-Themen 2
M Könnte mir jemand diese Aufgabe erklären? Java Basics - Anfänger-Themen 9
dieter000 Aufgabe Hilfe Java Basics - Anfänger-Themen 18
jonathanpizza Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
Q Hilfe auf Aufgabe(Matrixmultiplikation) Java Basics - Anfänger-Themen 1
jonathanpizza Hilfe bei der Aufgabe Java Basics - Anfänger-Themen 19
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
C Fernseher-Aufgabe (Methoden, Klassen und Objekte) Java Basics - Anfänger-Themen 63
C Rechnungen-Aufgabe Java Basics - Anfänger-Themen 18
C Biene-Aufgabe Java Basics - Anfänger-Themen 2
K Algorithmen und Datenstrukturen Programmier Aufgabe Java Basics - Anfänger-Themen 10
M Verständnisfrage zu eine Online Aufgabe Java Basics - Anfänger-Themen 7
T Aufgabe Flussdiagramm, kann jemand checken? Java Basics - Anfänger-Themen 8
B Methoden Ausgeben Aufgabe Java Basics - Anfänger-Themen 15
M Lösung Aufgabe - Java Programmiren lernen für Dummies Java Basics - Anfänger-Themen 11
J Rekursion Klausur Aufgabe Java Basics - Anfänger-Themen 2
J Exception-Aufgabe Java Basics - Anfänger-Themen 8
I Methoden char Array Aufgabe (bitte hierbei um Hilfe) Java Basics - Anfänger-Themen 3
F Aufgabe: Abstand von einem Punkt zu einem anderen Punkt Java Basics - Anfänger-Themen 10
T Aufgabe zum Verschlüsselungsalgorithmus Java Basics - Anfänger-Themen 11
J Erste Schritte Aufgabe Java Basics - Anfänger-Themen 24
T Methoden BinaryTree transformieren Aufgabe Java Basics - Anfänger-Themen 36
J Brauche Hilfe bei einer aufgabe Java Basics - Anfänger-Themen 1
J Hat jemand einen Lösungsansatz für diese Aufgabe? Java Basics - Anfänger-Themen 1
S Sortieralgorithmus - Aufgabe mit Lösungsidee Java Basics - Anfänger-Themen 20
A Aufgabe: Gleitkommazahlen Java Basics - Anfänger-Themen 3
A Java-Programmierungs Aufgabe Java Basics - Anfänger-Themen 2
U Aufgabe zu Kontrollstrukturen Java Basics - Anfänger-Themen 8
G Probleme bei Aufgabe Java Basics - Anfänger-Themen 12
J Aufgabe als Feuertaufe Java Basics - Anfänger-Themen 8
S Unbedingte hilfe bei Java Aufgabe [Schleife / Zinsrechnung] Java Basics - Anfänger-Themen 14
J Hilfe bei Java Aufgabe (Restschuld berechnen) Java Basics - Anfänger-Themen 11
G Ratlosigkeit zur Aufgabe im Anhang (boolean, equals.) Java Basics - Anfänger-Themen 20
S Hilfe bei Java Aufgabe (Schleifen) Java Basics - Anfänger-Themen 25
B Probleme bei einer Aufgabe Java Basics - Anfänger-Themen 19
B BITTE!! Ich brauche dringende Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 17
H aufgabe 4 Java Basics - Anfänger-Themen 297
M Hilfe bei Projektorientierungs-Aufgabe !! Java Basics - Anfänger-Themen 3
J Java Starthilfe Verständnisfrage Aufgabe Java Basics - Anfänger-Themen 2
H java aufgabe Java Basics - Anfänger-Themen 7
E Mathematische Aufgabe: Antwort entspricht nicht der Lösung Java Basics - Anfänger-Themen 5
H was verlangt die aufgabe ? Java Basics - Anfänger-Themen 10
H java aufgabe Java Basics - Anfänger-Themen 68
H java aufgabe Java Basics - Anfänger-Themen 25
H aufgabe java luhn algorithmus Java Basics - Anfänger-Themen 10
R Java Aufgabe (Teilbarkeit) Java Basics - Anfänger-Themen 7
H java aufgabe Java Basics - Anfänger-Themen 44
H java aufgabe Java Basics - Anfänger-Themen 7
H java string aufgabe Java Basics - Anfänger-Themen 10
H array aufgabe Java Basics - Anfänger-Themen 13
D Erste Schritte Lösen dieser Aufgabe, Hilfe! Java Basics - Anfänger-Themen 12
H aufgabe Java Basics - Anfänger-Themen 9
H lösung aufgabe Java Basics - Anfänger-Themen 12
S Hilfe für Aufgabe Java Basics - Anfänger-Themen 4
H java online aufgabe Java Basics - Anfänger-Themen 4
H Array aufgabe Java Basics - Anfänger-Themen 7
H oop aufgabe probe kalusur Java Basics - Anfänger-Themen 11
H oop aufgabe Java Basics - Anfänger-Themen 19
H JAVA AUFGABE Java Basics - Anfänger-Themen 7
W Thread Aufgabe - Vorgehensweise Java Basics - Anfänger-Themen 8
J Problem bei Aufgabe "Geldstückelung" Java Basics - Anfänger-Themen 5
P Problem bei Java-Aufgabe Java Basics - Anfänger-Themen 12

Ähnliche Java Themen


Oben