Es gibt ein Problem beim Schreiben von Code: Eine Schnittstellenklasse wird im Paket definiert, und ein anderes Paket muss es implementieren. Hier werden die Prinzipien der Schnittstellenisolierung und Abhängigkeitsinversion angewendet, um die Abhängigkeiten der beiden Pakete umzukehren. Wir haben hier jedoch auf ein Problem gestoßen. Die Implementierungsklasse übernimmt das Werksmodell zum Instanziieren, sodass die Implementierungsklasse nicht der Out-of-Packet ausgesetzt sein möchte, aber die Implementierungsklasse muss auch die öffentliche Schnittstelle implementieren. Hier ist also eine Frage: Wenn die Klasse von Standardtyp ist und die Mitgliedsfunktion von öffentlicher Typ ist, wie lautet dann die Zugriffsbeschränkungen?
Überprüfung implementieren
1. Definieren Sie zuerst eine Schnittstellenklasse in einem Paket:
Paket myTest public interface classAccessTest {void getData (); Charseqence getstring ();}2. Definieren Sie Implementierungsklassen und Fabriken in Implementierungspaketen
Paket classAccessTest import myTest.classAccessTest class classAccessestimps implementiert classAccessTest {int ma = 0; ClassAccessestimp (int a) {ma = a; } public void getData () {System.out.printlin ("Die Daten ist" + ma); } public charsequence getSstring () {return ("Die Daten ist" + ma); } paket classAccessTest import myTest.classAccessTest public class Factory {public static classAccessTest getAccessTest () {return New classAccessestimp (10); }}3. Verwenden Sie dann die Schnittstelle im Originalpaket:
Paket myTest import classcessTest test = </span> neu <span style = "Schriftfamilie: Arial, Helvetica, Sans-Serif;"> classAccessestimp (10); </span>}}
4. Ergebnisse:
In der Testmain-Klasse kann der nicht geförderte Teil normal ausgeführt werden, und der kommentierte Teil meldet einen Fehler. ClassAccessestimpimpimes Undefined Schlussfolgerung erfolgt aus dem oben genannten, dass die Zugriffsberechtigungen von Klassen in Java kleiner sein können als die Zugriffsberechtigungen der Mitglieder. Nach den Anforderungen der Inversion und der Paketkapselung können die Anforderungen erfüllt werden.