Ganz einfaches Beispiel, finde den Fehler aber nicht :(

milexy1986

Neues Mitglied
Hallo Ihr Lieben,

ich bin ziemlich neu in java. Habe einen Code geschreiben mit den methoden:

-getName() -- Zeigt den namen auf den Bildschirm
-getSurname() -- Zeigt Nachnamen auf den Bildschirm
-to String() -- Zeigt Namen und Nachnamen auf den Bildschirm

Im Beispiel habe ich auzh zwei Objekte (hans, rudi) erstellt um die Klasse "Personn" zu testen

Warum ist das Resultat beim ausfuehren immer "null" . Bin sicher das ich alles richtig gemacht habe. Bitte um hilfeee. Danke euch.

Und hir der Code:


Java:
public class Personn {
	
	private String surname;
	private String name;
	

public Personn (String name, String surname ) {
	this.getName();
	this.getSurname();
	}

protected String getName() {
     return this.name;
}

protected String getSurname(){
	return this.surname;
	}
	
public String toString(){
	return this.name + "" + this.surname;
	}
	

public static void main (String arguments[]){
	
	Personn hans=  new Personn ("Hans", "Schweiger");
	Personn rudi =  new Personn ("Rudi", "Voeller");

	System.out.println(hans.getName());  /*muesste auf dem Bildschirm "Schweiger ausgeben"*/

	}
}
 
Zuletzt bearbeitet von einem Moderator:
Bitte verwende Java Tags ... siehe die rote Schrift ...


Im Konstruktor verwendest du die übergeben Paramter nicht. Diese sollten den Objektvariablen zugewiesen werden.
 
Statt:

Java:
public Personn (String name, String surname ) {
this.getName();
this.getSurname();
}

Java:
public Personn (String name, String surname ) {
  this.name = name;
  this.surname = surname;
}

Mit get* greift man ja auf eine Eigenschaft zu (lesend). Zum setzen einer Eigenschaft müsstest du
auch set*-Methoden schreiben. Aber die Zuweisung im Konstruktor reicht für das einfache Beispiel.
 

Zurück
Oben