Warum nicht sub-Pakete finden Sie unter package-private-Klassen?
Okay, so habe ich dieses Projekt Struktur:
Paket A. B
- Klasse
SuperClass
(diese Klasse ist gekennzeichnet package private)
package A. B. C
- Klasse
SubClass
(abgeleitet von super-Klasse)
Würd ich eher nicht machen SuperClass
öffentlich sichtbar... Es ist wirklich nur eine utility-Klasse für dieses spezielle Projekt (A. B).
Scheint es mir, dass die Unterklasse sollten in der Lage sein zu sehen SuperClass
, da package A. B. C ist ein unterpackage von A. B... aber das ist nicht der Fall.
Was wäre der beste Weg, um dieses Problem zu beheben? Ich glaube nicht, dass es Sinn macht, sich zu bewegen, alles im A. B. C bis zu A. B oder verschieben von A. B nach unten zu A. B. C... vor allem, weil es wird wahrscheinlich eine A. B. D erbt von Sachen in A. B sowie...
Ich bin ein bisschen neu in Java, also nett sein 😀 (ich bin ein C++ - und .NETTO-Typ)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Pakete sind eindeutige Bezeichner. Sie können Sie Folgen die erbschaft Regeln. Paket und Unterpakete sind nicht Analog zu den Super-und Sub-Klassen.
Ich nicht sehen, keine Fehler zu machen, die Klasse, die Sie wollte in die sub-Paket werden für die Außenwelt sichtbar. Ich wäre daran interessiert zu wissen, wie dieses Kriterium behandelt wird in C++ -/.net (wie ich bin ein java-guy 🙂 )
Ihre beste Wette ist zu erklären, dass die (Standard -) Konstruktor(en) der
SuperClass
alsprotected
. Auf diese Weise nur Klassen im selben Paket und Unterklassen unabhängig von der Verpackung kann instanziieren und erweitern von es.Warum nicht setzen Sie Sie in der gleichen Paket-Ebene?
Konnte Sie irgendwie nutzen Komposition anstelle von Vererbung? Ich habe versucht, mehr zu tun, dieser mir nach der Lektüre Wirksame Java. Nicht sicher, ob dies ist möglich, da Ihre Bedürfnisse, aber es könnte eine überlegung Wert sein.
Glück.