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 / 156 / 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 / 106 / 15 / 16 ) » 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 / 156 / 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 / 106 / 15 / 16 ) » 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 / 156 / 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

Quellcodeänderung mehrerer Programme
vor 10 Minuten von Tron 11 / 307
BAPI_PO_CREATE1 und Einkaufsinfosatz
Gestern von SweetRuedi 1 / 55
Format xx oder xx-xx oder xx-xx-xx
vor 2 Tagen von black_adept 5 / 195
Salv Table - Layouts speichern
vor 2 Tagen von ewx 2 / 81
WCOCO: Gruppe für Betragsfelder 0S01
vor 3 Tagen von SAP_ENTWICKLER 1 / 41

Unbeantwortete Forenbeiträge

BAPI_PO_CREATE1 und Einkaufsinfosatz
Gestern von SweetRuedi 1 / 55
WCOCO: Gruppe für Betragsfelder 0S01
vor 3 Tagen von SAP_ENTWICKLER 1 / 41
CAS-Nr.: Chemical Abstracs Service
vor 5 Tagen von SAP_ENTWICKLER 1 / 76
Interaktives Skript, Rolle IC-Manager
vor einer Woche von erubadhron86 1 / 118
Wie findet man das Rahmenprogramm eines Infosets?
vor einer Woche von DeathAndPain 1 / 142