# Eigene Klasse als Array, zugriff?



## gost (22. Nov 2010)

Hallo, ich lerne gerade Java und bin gerade bei Arrays. Jetzt ist da ein Beispiel wo aus einer eigenen Klasse ein Array erstellt wird. 

```
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...

```
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


----------



## Gast2 (22. Nov 2010)

```
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:


```
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;
	}
}
```


----------



## gost (22. Nov 2010)

Ahh ok! Vielen Dank. Habs verstanden.


----------

