Java: Почему я могу прочитать частный атрибут? - PullRequest
0 голосов
/ 19 июня 2020

это может быть глупый вопрос, но мне было интересно, почему я все еще могу читать атрибуты радиуса и возраста, даже если я использовал модификатор private. Я думал, что не смогу ни читать, ни создавать экземпляры таких измененных атрибутов без использования геттеров и сеттеров.

public class Test {
    private int radius = 3;
    private int age;

    public static void main(String[] args) {
        Test a = new Test();
        System.out.println(a.radius);
        System.out.println(a.age);
    }
}

Ответы [ 2 ]

1 голос
/ 19 июня 2020

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

0 голосов
/ 19 июня 2020

Методы, переменные и конструкторы, которые объявлены частными, доступны только внутри самого объявленного класса.

Модификатор частного доступа является наиболее ограничивающим уровнем доступа. Переменные, которые объявлены частными, могут быть доступны вне класса, если в классе присутствуют методы publi c getter.

Использование модификатора private - это основной способ инкапсуляции объекта и скрытия данных извне мир.

...