Eigene Klasse als Array, zugriff?

gost

Neues Mitglied
Hallo, ich lerne gerade Java und bin gerade bei Arrays. Jetzt ist da ein Beispiel wo aus einer eigenen Klasse ein Array erstellt wird.
Java:
class MyClassType
{
  public int i;
}
      
public class MyClass
{
  public static void main(String[] args)
  {
    MyClassType[] array = new MyClassType[2];
  }
}
Das ist noch verständlich, aber ich weiß jetzt nicht wie ich über das Array auf i zugriff hab. Ich hab folgendes versucht...
Java:
array[0].i = 10;
array[1].i = 20;
Der Compiler warf aber eine NullPointerException.

Mit google hab ich das in Erfahrung gebracht: " Die Referenz muss entweder mit einer anderen Referenz oder mit dem new-Operator initialisiert werden."
Ich bin der Meinung das dieses Oben schon geschehen ist... oder?

mfg Kalle
 
Java:
class MyClassType
{
  public int i;
}
      
public class MyClass
{
  public static void main(String[] args)
  {
    MyClassType[] array = new MyClassType[2];
    array[0] = new MyClassType();
    array[1] = new MyClassType();
    array[0].i = 10;
    array[1].i = 20;
  }
}

Der Array hält ja erstmal nur null Objecte. Aber statt .i zu nehmen lieber getter und setter Methoden verwenden:

Java:
class MyClassType {
	private int i;

	public MyClassType(int i) {
		this.i = i;
	}

	public MyClassType() {

	}

	public int getI() {
		return i;
	}

	public void setI(int i) {
		this.i = i;
	}
}

public class MyClass {
	public static void main(String[] args) {
		MyClassType[] array = new MyClassType[2];
		array[0] = new MyClassType();
		array[1] = new MyClassType();
		array[0].setI(10);
		array[1].setI(20);
		// oder
		MyClassType c1 = new MyClassType(10);
		MyClassType c2 = new MyClassType(20);
		array[0] = c1;
		array[1] = c2;
		// oder
		MyClassType c3 = new MyClassType();
		c3.setI(10);
		MyClassType c4 = new MyClassType();
		c4.setI(20);
		array[0] = c3;
		array[1] = c4;
	}
}
 
Zuletzt bearbeitet von einem Moderator:

Neue Themen


Zurück
Oben