Я задаю этот вопрос, потому что я считаю, что они сделали это по очень веской причине, и что большинство людей не используют его должным образом, а также из моего опыта в отрасли до сих пор. Но если моя теория верна, то я не уверен, почему они включили модификатор частного доступа ...?Почему Java сделал доступ к пакету по умолчанию?
Я считаю, что если доступ по умолчанию используется правильно, он обеспечивает расширенную проверку при сохранении инкапсуляции. И это также делает излишним модификатор частного доступа.
Модификатор доступа по умолчанию может использоваться для обеспечения того же влияния, используя уникальный пакет для методов, которые должны быть скрыты от остального мира, и делает это без ущерба для тестируемости, как пакетов в тестовой папке, с тем же доступом могут получить доступ ко всем методам по умолчанию, объявленным в исходной папке.
Я считаю, поэтому Java использует пакетный доступ как «по умолчанию». Но я не уверен, почему они также включали в себя частный доступ, я уверен, что есть допустимый прецедент ...
private является ключевым, когда классы имеют внутренние методы, которые не должны касаться ни один другой класс. Я не уверен, Что так спорно об этом. Вы полагаете, что у частного нет цели ?! В этом случае я категорически не согласен –
Проблема возникает при попытке легко протестировать частные методы, и вы можете добиться эффекта частных членов, использующих доступ по умолчанию, путем создания другого пакета. – newlogic
да, но как насчет методов, которые должны быть доступны для некоторых тесно связанных классов, но не для всего мира? Кроме того, похоже, вы пытаетесь имитировать конфиденциальность, отбрасывая доступ к пакету. –