Java Definition Interface/Abstrakte Klasse

Rund um Java und SAP®.
5 Beiträge / Seite 1 von 1
5 Beiträge Seite 1 von 1

Java Definition Interface/Abstrakte Klasse

Beitrag von erp-bt (Specialist / 155 / 4 / 20 ) » 19. Mär 2019 14:01

Hallo,

kann mir jemand sagen was die Angabe <A> bei der Definition der unten stehenden abstrakten Klasse in Java bedeutet?

public abstract class List<A> {
...
}

Habe es auch schon bei der Definition von Interfaces gesehen, z.B.

interface List<T> {
...
}

Ich versuche hier gerade Java-Coding zu interpretieren, kann mir aber leider nicht genau erklären was die Angabe in den spitzen Klammern bedeutet, bzw. bewirkt.

Vielen Dank und Grüße, Tapio
...entwickelnder Berater...beratender Entwickler


Re: Java Definition Interface/Abstrakte Klasse

Beitrag von nickname8 (Specialist / 102 / 14 / 12 ) » 19. Mär 2019 14:10

Hi,
das sind sogenannte Generics. Damit kann man Klassen/Interfaces spezialisieren.

Man kann sagen List<Auto> a = new List<Auto>(); Aber die Liste ist nicht explizit für Autos konzipiert, sondern für ObjeKte jeglicher Art. Das wird mit einem T aufgezeigt.

Bei ABAP wäre das sowas wie DATA: list TYPE TABLE OF cl_class.

Dies ist natürlich eine GAAAANZ grobe Erklärung. Sonst findest du über google haufenweise Hinweise, empfehlenswert wäre da JAVA ist auch eine Insel vom Rheinwerkverlag. Soweit ich weiß sogar konstenlos in einer Onlineversion zu genießen.

Edit: http://openbook.rheinwerk-verlag.de/jav ... html#u3.10

Re: Java Definition Interface/Abstrakte Klasse

Beitrag von erp-bt (Specialist / 155 / 4 / 20 ) » 20. Mär 2019 09:52

Hi,

danke für die Infos. Ich habe mir jetzt mal ein paar Sachen angeschaut, aber wenn ich ehrlich bin, so ganz verstanden habe ich es noch nicht.

Wenn es richtig verstanden habe, handelt es sich bei der Angabe in den spitzen Klammern um einen generischen Typ, also ein Typ der verschiedene unterschiedlichen Typen annehmen kann. Dann wäre das in Deinem übertragenen ABAP-Beispiel doch eher

DATA list TYPE TABLE OF OBJECT

oder wenn man es etwas spezialisierter will

DATA list TYPE TABLE OF IF_LIST

Was mich aber viel mehr verwirrt ist, dass wäre ja aber eigentlich eher ein Klassen- bzw. Instanz-Attribut. In dem Java-Beispiel ist es jedoch Bestandteil der Klassen- bzw. Interface-Definition selbst? Ich kann ja im ABAP nicht sagen

CLASS IF_LIST DEFINITION TYPE TABLE OF IF_LIST?

Wo ist mein Denkfehler?
...entwickelnder Berater...beratender Entwickler

Re: Java Definition Interface/Abstrakte Klasse

Beitrag von nickname8 (Specialist / 102 / 14 / 12 ) » 20. Mär 2019 10:31

Versuch es nicht zu sehr auf ABAP umzumünzen. In ABAP gibts (leider) keine Generics.

Re: Java Definition Interface/Abstrakte Klasse

Beitrag von erp-bt (Specialist / 155 / 4 / 20 ) » 21. Mär 2019 07:09

Ok. So weit, so gut.

Ich habe noch einen Interessanten Blog mit Kommentar in der SAP Community zum Thema gefunden, den ich zur Referenz hier verlinke.

https://blogs.sap.com/2017/08/21/a-hash ... ent-388036

Viele Grüße, Tapio

Folgende Benutzer bedankten sich beim Autor erp-bt für den Beitrag:
SaskuAc

...entwickelnder Berater...beratender Entwickler

Seite 1 von 1

Aktuelle Forenbeiträge

Kreditlimitprüfung Obligo
vor 4 Tagen von wreichelt 2 / 117
Business Partner Konzept
vor 4 Tagen von SAP_ENTWICKLER 1 / 161
Fortführen der Schleife
vor 4 Tagen von ichse18577 2 / 149
Verursachervormerkung OCM manuell anlegen
vor 5 Tagen von Aba 1 / 118

Unbeantwortete Forenbeiträge

Business Partner Konzept
vor 4 Tagen von SAP_ENTWICKLER 1 / 161
Verursachervormerkung OCM manuell anlegen
vor 5 Tagen von Aba 1 / 118
Auflösen MILL_OC - Auftragszusammenfassung
vor einer Woche von tofralu 1 / 104
Löschen von archivierten Drucklisten
vor einer Woche von Asaph 1 / 95