Java модификаторы доступа: полное руководство

Java модификаторы доступа это ключевые слова, которые используются для определения уровня доступа к классу, методу или переменной внутри класса. В Java, производится четыре типа модификаторов доступа:

1. `public`: доступны из любого места в программе, включая другие пакеты.

2. `protected`: доступны в текущем классе, пакете и любом наследуемом классе.

3. `default` (не указан): доступны только в текущем пакете.

4. `private`: доступны только в текущем классе.

Например, если мы имеем класс `Person`, который имеет приватное поле `age`, то только методы внутри этого класса могут получить доступ к полю `age`. Если мы используем модификатор доступа `public` на поле `age`, его можно использовать из любого места в программе.

Пример:


public class Person {
    private int age;
    public String name;
    protected String address;
    String gender; // default access modifier
    public void setAge(int age) {
        this.age = age;
    }
    public int getAge() {
        return age;
    }
}
public class Employee extends Person {
    public void work() {
        System.out.println(name + " is working.");
        System.out.println(address + " is the address of " + name);
        // can't access age directly, must use getAge() method
        System.out.println(name + "'s age is " + getAge());
    }
}
public class Main {
    public static void main(String[] args) {
        Person person = new Person();
        person.setAge(25);
        person.name = "John";
        person.address = "123 Main St.";
        person.gender = "male";
        System.out.println(person.name + " is " + person.getAge() + " years old.");
        
        Employee employee = new Employee();
        employee.name = "Jane";
        employee.address = "456 Elm St.";
        employee.gender = "female";
        employee.setAge(30);
        employee.work();
    }
}

В этом примере класс `Person` определен с разными модификаторами доступа для полей `age`, `name`, `address` и `gender`. Класс `Employee` наследует класс `Person`, и имеет доступ к защищенному и публичному полям. В методе `work()` мы можем использовать доступные поля, но не можем напрямую использовать приватное поле `age`, поэтому мы используем метод `getAge()`. В методе `main()` мы создаем экземпляры `Person` и `Employee` и используем их методы и поля различных уровней доступа.

Похожие вопросы на: "java модификаторы доступа "

Python Index: The One-stop Destination for Python Programming
Как вывести пирамиду из символов заданной высоты: подробный гайд
Как подключить jQuery на сайт: простой и эффективный способ
Boolean в Java: все, что нужно знать!
The V Model - A Comprehensive Guide
Узнайте дату недели и текущее время сегодня
Drag the Elements: The Ultimate Tool for Effortless Design Creation
JavaScript тернарный оператор: примеры использования и синтаксис
Upper SQL - быстрое и эффективное решение для работы с базами данных
Traccar - отслеживание и мониторинг GPS