При написании кода есть проблема: класс интерфейса определяется в пакете, и другой пакет должен его реализовать. Здесь приняты принципы изоляции интерфейса и инверсии зависимости, чтобы инвертировать зависимости двух пакетов. Тем не менее, мы столкнулись здесь с проблемой. Класс реализации принимает заводскую модель для создания экземпляра, поэтому класс реализации не хочет подвергаться воздействию вне пакета, но класс реализации также должен реализовать общественный интерфейс. Итак, вот вопрос: если класс имеет тип по умолчанию, а функция участника имеет публичный тип, то каковы ограничения доступа?
Реализовать проверку
1. Сначала определите класс интерфейса в пакете:
пакет MyTest public interface classaccesstest {void getData (); Charseqence getString ();}2. Определите классы реализации и фабрики в пакетах реализации
пакет classaccesstest import mytest.classaccesstest class classaccesstestimp реализует classaccesstest {int ma = 0; ClassAccessTestImp (int a) {ma = a; } public void getData () {System.out.printlin ("Данные" + ma); } public chareSequence getString () {return ("Данные" + ma); } пакет classaccesstest import mytest.classaccesstest public class factory {public static classaccesstest getAccesstest () {return new classaccessTestimp (10); }}3. Затем используйте интерфейс в исходном пакете:
Пакет MyTest Import ClassCessTest.Factory // Import ClassAccessTest.ClassAccessTestImp Public Class TestMain {public static void main (String arg []) {factory.getAccessTest (). getString (); <Span Style = "Белое пространство: pre"> </span> // <span = "font-famil sans-serif; "> classaccesstest test = </span> new <span style =" font-family: arial, helvetica, sans-serif; "> classaccesstestimp (10); </span>}} 4. Результаты:
В классе Testmain необратимая часть может работать нормально, а в комментарии будут сообщать об ошибке. ClassAccessTestImp Неопределенный вывод получен из вышеперечисленного, что разрешения доступа классов в Java могут быть меньше, чем разрешения доступа. В соответствии с требованиями инверсии и инкапсуляции упаковки требования могут быть выполнены.