# Objekt Array ausgeben



## verzweifelteAlex (7. Januar 2010)

Hallo zusammen

Ich könnte mal ganz dringen eure Hilfe gebrauchen.

Ich habe ein Objekt Array das folgendermassen aussieht:

Beleg[] belegArray = new Beleg[3];

Die Klasse Beleg hat verschiedene String Attribute, ich habe in der Klasse auch die getters und setters gemacht. 
Jetzt möchte ich die Werte auslesen, bekomme jedoch immer nur folgende Ausgabe: 

- Beleg@ba9777e5

Lg


----------



## ROCKSCHTAR (7. Januar 2010)

```
for( int i = 0; i < belegArray.length; i++ )
{
    System.out.println( belegArray[ i ] );
}
```


----------



## Tim Bureck (7. Januar 2010)

Du musst die toString()-Methode deiner Klasse überschreiben. Dies ist die Standardausgabe von Object.


----------



## Kai008 (7. Januar 2010)

Das, was du hier hast ist die Ausgabe der Methode toString.
Du hast jetzt endweder die Möglichkeit die getter selbstständig aufzurufen:


```
for(int i = 0; i < belegArray.length; i++)
{
	System.out.println("Belegnummer: "+belegArray[i].getBelegnr());
}
```

Oder die toString-Methode überschreiben:


```
public String toString()
{
	return("Belegnummer: " + belegnummer);
}
```

Im letzten Fall brauchst du natürlich keine Getter, da du auf private Klassenvariablen direkt zugreifen kannst.

Edit: Mist, schon wieder zu langsam. >_<


----------



## verzweifelteAlex (7. Januar 2010)

Danke schon mal für die schnellen Antworten. 

Wenn ich es über die getters und setters mache also mit bekomme ich folgende Fehlermeldung:

- Beleg.getBelegAnzahl()Ljava/lang/String;

Und wegen der toString - Methode, die habe ich nicht. Müsste ich die in der Klasse Beleg haben, wenn ja habe ich ein Problem, da diese Klasse automatisch generiert wird.


----------



## Kai008 (7. Januar 2010)

GIbt es zu der Exception/dem Error auch einen genaueren Fehlertext?
Die toString-Methode hast du schon, (musst du in jeder Klasse haben), sie wird nur von Object geerbt.


----------



## verzweifelteAlex (7. Januar 2010)

Die Fehlermeldung lautet folgendermassen:

java.lang.AbstractMethodError: Beleg.getBelegAnzahl()Ljava/lang/String;
	at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:371)
	at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:230)
	at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:594)
	at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:306)
	at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:531)
	at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
	at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
	at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
	at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
	at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1256)
	at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1209)
	at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1608)
	at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:649)
	at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:576)
	at org.eclipse.ui.internal.PartSashContainer.createControl(PartSashContainer.java:568)
	at org.eclipse.ui.internal.PerspectiveHelper.activate(PerspectiveHelper.java:271)
	at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:968)
	at org.eclipse.ui.internal.WorkbenchPage.onActivate(WorkbenchPage.java:2593)
	at org.eclipse.ui.internal.WorkbenchWindow$25.run(WorkbenchWindow.java:2873)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.internal.WorkbenchWindow.setActivePage(WorkbenchWindow.java:2854)
	at org.eclipse.ui.internal.WorkbenchWindow.busyOpenPage(WorkbenchWindow.java:759)
	at org.eclipse.ui.internal.Workbench$21.runWithException(Workbench.java:1029)
	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3800)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3425)
	at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
	at org.eclipse.ui.internal.Workbench$27.runWithException(Workbench.java:1363)
	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:178)
	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4251)
	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:94)
	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1358)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2314)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2200)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:495)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:490)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at ch.post.pf.beda.zentralueberwachung.ui.Application.start(Application.java:20)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1212)

Kann ich indemfall die Methode überschreiben? Wenn ja wie?


----------



## Kai008 (7. Januar 2010)

Noch nie gesehen. 
Vielleicht findest du da was:
http://www.google.at/#hl=de&q="at+o...(ViewReference.java:371)"&fp=82c525252b78ed59

Wenn du die Klasse mit "new" erzeugst, kannst du so überschreiben:


```
new Beleg() {
		public void toString()
		{

		}
};
```

Aber dabei gibt es diverse Einschränkungen, ob du es so schaffen kannst weiß ich nicht.


----------

