java tutorial - Модификатор доступа (Access modifiers) в Java - учебник java - java programming - учиться java - java basics - java for beginners



1- Modifier в Java

  • Существует два вида modifier в java: access modifiers и non-access modifiers.
  • Аccess modifiers в java определяют общедоступность (Рамки) в данные полей, методов, конструкторов или класса.
  • Есть 4 вида java access modifiers:
    • private
    • (По умолчанию)
    • protected
    • public
  • И есть некоторые non-access modifiers например static, abstract, synchronized, native, volatile, transient, и т.д.. В данной статье мы изучим про access modifier.

2- Обзор access modifier

  • Таблица ниже иллюстрирует общее понятие про использование access modifier.
  • Можете понять более детально по следующим примерам:

3- private access modifier 3- private access modifier

  • private access modifier только позволяет получить доступ внутри одного класса.
 java лица
java - джава - учиться java - java-faces -
java лица
- примеры java - java-программы
  • Вы не можете получить доступ к полю private вне класса, который определяет его как private. Java оповестить об ошибке во время компиляции класса.
 secret java
java - джава - учиться java - учебник java -
секрет java
- примеры java - java-программы

4- private constructor

  • Если вы создаете класс и имеете конструктор private, вы не можете создать объект этого класса из того конструктора private, вне этого класса. Посмотрим изображенный пример:
 class-of animals test java
java - джава - учиться java - учебник java -
класс животных тест java
- примеры java - java-программы

5- Access modifier по умолчанию

  • В случае, если вы объявляете поле, метод, или конструктор (constructor), class, .. но не пишете точно access modifier, это означает что он является access modifier по умолчанию.
  • Рамки доступа access modifier по умолчанию это внутри package.
// A class with default access modifier
// (Not public).
class MyClass   {
 
 // A field with private access modifier.
 private int myField;
 
 // A field with default access modifier.
 // (not specified public, protected, private).
 String myField2;
 
 // A method with default access modifier.
 // (not specified public, protected, private).
 void showMe()  {
 
 }
}
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда
  • В том же package вы можете получить доступ к членам имеющим access modifier по умолчанию.
  • И вы не можете получить доступ снаружи package, даже в подклассе.
  • С интерфейсом, когда вы объявляете поле (Field) или метод (Method) вам всегда нужно объявлять public или ставить по умолчанию, но Java всегда будет понимать это как public.
public interface MyInterface  {
 
   // This is a field, you can not declare private or protected.
  public static int MY_FIELD1 = 100;
 
  // This is a field with default access modifier
  // But Java considering this is a public.
  static int MY_FIELD2 = 200;
 
  // This is a method, with default access modifier
  // But Java considering this is a public.
  void showInfo();
}
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда

6- protected access modifier

  • protected access modifier может получить доступ внутри package, или снаружи package но только через наследственность.
  • protected access modifier применяется только для поля, метода и конструктора. Не может применяться для класса (class, interface, enum, annotation).
 protected acess modifiers
java - джава - учиться java - учебник java -
protected acess modifiers
- примеры java - java-программы

7- public access modifier

  • public access modifier это самы сильный и может получить доступ везде. Он имеет самый широкий диапазон доступа по сравнению с другими modifier.
 public access modifiers
java - джава - учиться java - учебник java -
public access modifiers
- примеры java - java-программы

8- Метод переопределения

  • Вы можете переопределить метод родительского класса, метод которого имеет одинаковое название и параметр в подклассе. Но вы не можете ограничить рамки доступа этого метода.
  access modifiers
java - джава - учиться java - учебник java -
access modifiers
- примеры java - java-программы

На изображении выше.

  • Class Cat расширенный из class Animal и переопределить метод move(), переопределть рамки доступа из protected в public, это действительно.
  • Class Mouse расширенный из class Animal и переопределить метод move(), ереопределть рамки доступа из protected в по умолчанию, уменьшает рамки доступа корневого метода, это неразрешено.

Related Searches to Модификатор доступа (Access modifiers) в Java