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

Everything You Need to Know About Expiration Dates
Тень CSS: как создать эффектные теневые эффекты на сайте
Namespace: важный элемент в организации кода в программировании
Promt JS – инструмент для работы с диалоговыми окнами в JavaScript
PhantomJS: Headless Browser Automation and Web Scraping Tool
Как узнать версию Python на своем компьютере?
Выровнять текст по центру CSS: лучшие методы и инструкции
Having MySQL: The Ultimate Guide to Managing and Optimizing Your MySQL Database
FastCGI: ускорение обработки динамических веб-страниц
Current Password - Советы и рекомендации для безопасности вашего пароля