Эта статья в основном изучает контент, связанный с контролем прав доступа к программированию Java, следующим образом.
Для модификаторов, на которые я раньше не обращал внимания, как правило, переменные не были добавлены раньше, один из них был потому, что я не знал, для чего это было, а другой был потому, что я был ленивым. Когда я столкнулся с проектом позже, я обнаружил, что между частными и общественностью все еще существует большая разница.
(1) Прежде всего, название пакета
При использовании класса, такого как класс сбора, вам нужно представить этот пакет, а затем использовать класс под пакетом. нравиться:
Пакет com.myown.iaiti; открытый класс print {static void print (string s) {system.out.println (s); }}Индивидуальные пакеты, внедряя свои собственные пакеты, вы можете использовать метод, который вы написали для печати строк в будущем. Я пытался установить путь моего собственного пакета в класс -пути, поэтому при компиляции в других каталогах вам не нужно помещать пакет в этот каталог, и он также может работать нормально, в противном случае пакет JAR не будет найден.
(2) общественность
Общественные, публичные, в прошлом учителя часто использовали Лао Цзы в качестве метафоры. Это публичная вещь, я буду использовать это для вас. Общественность внимательно следует за членами данных, что означает, что он доступен для всех.
(3) Частный
Частная, частная, моя частная собственность, не трогай ее. За исключением класса, содержащего этот элемент данных в пакете, который можно использовать, другие классы не могут быть использованы. Эта часть - это то, что сам дизайнер не хочет показывать или изменять для посторонних.
public class print {public static void main (string [] args) {getit g = new getIt (); }} класс GetIt {// Обратите внимание, что файл может иметь только один открытый класс. Если вы хотите добавить публику перед //, не пишите ее в том же файле, что и Print private getIt () {}}Конструктор getIt () не виден, он не виден, видно, что он полезен. Синглтонский рисунок также используется таким образом, контролируя создание объектов.
Применение режима синглтона:
класс A {private a () {} private static a a = new a (); public static a GetInstace () {return a; }}Другие классы не могут создавать объекты через новые, потому что конструктор изменяется частным. Цель состоит в том, что когда этот класс А является чрезвычайно сложным и потребляет память, мне нужно строго контролировать создание объектов. Поскольку мы дали один случай, кстати мы поговорим об одном случае. Раньше я читал некоторые люди, это так классическое и удивительное.
Выше приведено стиль голодного человека, который поможет вам стать новым, как только вы придете, и использовать его напрямую, когда вы станете новым в будущем. Там нет проблемы с потоком. Недостаток заключается в том, что если это бесполезно, это будет пустой тратой ресурсов.
Ленивый стиль
открытый класс a {private a () {} private static a; public static a GetInstance () {if (a == null) {return a = new a (); } else {return a; }}}Это поможет вам, когда вы используете его, и он будет новым, когда вы его используете, но есть проблема с потоком. Если вы добавите синхронизированный, эффективность будет снижена, потому что, если вы используете ее, один из них будет занят.
Идеальный способ - объединить оба:
открытый класс A {// Частный статический внутренний класс, класс будет загружен только при наличии ссылочного частного статического класса Lazya {public static aa = new a (); } public static a GetInstance () {return lazya.a; }}Я не могу понять этот так называемый статический внутренний класс раньше. Функция состоит в том, чтобы достичь отсроченной нагрузки, потому что она будет использоваться только в новом. Используйте метод GetInstance. Не существует проблемы с многопоточным чтением, потому что статический класс принадлежит всем внешним объектам класса и будет загружен только один раз. После того, как статический внутренний класс создается, это атрибут на уровне класса, который не принадлежит к определенному объекту, но будет загружен только один раз. Таким образом, не будет никаких ресурсных отходов, и нет проблем с неэффективностью многопоточного. Человек, который придумал этот метод, действительно потрясающий.
(4) защищен
Печать - базовая категория. Китайцы любят говорить о категории родителей, но иностранцы думают, что подкатегории более потрясающие. Базовая категория - это фундамент или фундамент. Защищенное - это свойство, которое я оставил специально для моего сына.
открытый класс print {protected void print () {} private void не может печатать () {}} открытый класс Prints Extends print {void get () {print (); // невозможно pprint (); Частный частный метод, подклассы все еще не могут быть использованы}} открытый класс notson {void get () {print (); }}Защищенный модифицированный подкласс может быть получен между государственным и частным.
(5) Доступ к разрешениям для класса
Каждый файл может иметь только один публичный класс.
Имя класса и имя файла одинаковы.
Если у вас нет базовой основы, это будет немного заранее, но после улучшения знаний, это будет легко понять. Контроль прав доступа все еще зависит от того, хотите ли вы использовать свою часть своего кода напрямую для других.
Суммировать
Выше приведено подробное объяснение кода управления для разрешений на доступ к программированию Java в этой статье, я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на другие связанные темы на этом сайте. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!