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 модификаторы доступа "

Discord Developer Portal - Create Bots, Games and Apps
Round PHP: A Simple Guide to Rounding Numbers in PHP
Купите качественные товары G S
Целочисленное деление в JavaScript
Что такое SSL и TLS и как они защищают ваши данные в Интернете?
Slave Master: A Shocking Look into the Reality of Enslavement
Как читать файл на языке Си: руководство для начинающих
Калькулятор на Java: быстрый и точный расчет на вашем компьютере
Git SSH Clone – Клонирование репозитория с помощью SSH
Инкапсуляция в Python