Java Objekt Array - NullPointerException

F

Furtano

Gast
Hi,
ich komm nich drauf was es sein könnte.

Exception in thread "main" java.lang.NullPointerException
at uebung4.uebung4.main(uebung4.java:10)



PHP:
package uebung4;


public class uebung4 {

	public static void main (String[] args){
		
		person[] ichbin = new person[3];
		
		ichbin[0].setName("Christian");
		ichbin[1].setName("Max");

		System.out.println(ichbin[0].getName());
		System.out.println(ichbin[1].getName());
}
}


PHP:
package uebung4;
import java.util.Calendar;

public class person {
	

		String name;
		String vorname;
		Calendar geburtsdatum;
		int matrikelnr;

		
		public String getVorname() {
			return vorname;
		}

		public void setVorname(String vorname) {
			this.vorname = vorname;
		}

		public Calendar getGeburtsdatum() {
			return geburtsdatum;
		}

		public void setGeburtsdatum(Calendar geburtsdatum) {
			this.geburtsdatum = geburtsdatum;
		}

		public int getMatrikelnr() {
			return matrikelnr;
		}

		public void setMatrikelnr(int matrikelnr) {
			this.matrikelnr = matrikelnr;
		}

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

		
		public String getName() {
			return name;
		}
	

}
 
Zuletzt bearbeitet von einem Moderator:
ichbin[0] ist ein leeres Objekt. Du musst den Konstruktor für das Objekt aufrufen, also ichbin[0] = new person();

Selbiges gilt für ichbin[1] etc..
 
In deiner Klasse person (sollte man groß schreiben), initialisierst du die Attribute nicht. String name ist null und wird niemals initialisiert, so wie der Rest auch.
 
Smagjus schrieb:
ichbin[0] ist ein leeres Objekt.
Nur damit es keine Missverständnisse gibt: Hinter "ichbin[0]" ist gar kein Objekt, sondern "null", also nichts.
Aber du hast wahrscheinlich schon das richtige gemeint. :)

Tumbleweed schrieb:
String name ist null und wird niemals initialisiert, so wie der Rest auch.
Ich seh da kein Problem, da ja funktionierende Setter da sind. Darüber, ob es jetzt Sinn macht eine Person ohne Namen zu erzeugen, kann man sich streiten. Funktionell sehe ich da aber kein Problem.
War hier auch nicht das Problem, weil System.out.println() wenn null übergeben wird einfach "null" hinschreibt und keine Exception wirft.
 
Da hast du natürlich recht, da war ich wohl kurz nach Geisterstunde schon zu abwesend. :D

Ich würde trotzdem zu einem hübschen grundlegenden Konstruktor raten um seltsame Fehler später zu vermeiden. ;)
 
TheCadillacMan schrieb:
Nur damit es keine Missverständnisse gibt: Hinter "ichbin[0]" ist gar kein Objekt, sondern "null", also nichts.
Aber du hast wahrscheinlich schon das richtige gemeint. :)
Hab ich mir fast gedacht, dass ich da irgendetwas falsch geschrieben habe. Musste mir in Java alles selber beibringen, deswegen hakt es etwas mit den Fachbegriffen. Vielen Dank für die Korrektur :)
 
Zurück
Oben