Können abstrakte Klassen Konstruktoren besitzen?
nutzung und Zwecke der abstrakten Klassenkonstruktoren
Ein abstrakter Klassenkonstruktor dient verschiedenen Zwecke:
Durchsetzung von Klassenbeschränkungen:
In diesem Beispiel besitzt das abstrakte Klassenprodukt einen Konstruktor, der das Feld Multiplyby festlegt. Die Unterklassen Timestwo und Times, die diesen Konstruktor überschrieben, um eine angepasste Initialisierung bereitzustellen.
Hinweis:
abstract class Product { int multiplyBy; public Product( int multiplyBy ) { this.multiplyBy = multiplyBy; } public int mutiply(int val) { return multiplyBy * val; } } class TimesTwo extends Product { public TimesTwo() { super(2); } } class TimesWhat extends Product { public TimesWhat(int what) { super(what); } }Es ist entscheidend zu beachten, dass abstrakte Klassen keine Standardkonstruktoren besitzen müssen, sodass Subklassen explizit explizit haben müssen. Rufen Sie den übergeordneten Konstruktor mit Super.
auf.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3