Найти в Дзене
DEBAGanov

Java 1173. Может ли объект получить доступ к члену класса, объявленному как private? Если да, то каким образом?

В Java объект не имеет доступа к члену класса, объявленному как private. Только члены класса могут иметь доступ к такому приватному члену, кроме случаев, когда метод класса делает его общедоступным (public) или доступным в рамках пакета (package-private).

Однако, можно создать public метод в классе, который будет использовать приватный член класса в своей реализации, и тогда объекты этого класса будут иметь доступ к приватному члену через этот public метод. Например:

public class MyClass {
private int privateField;

public void setPrivateField(int value) {
this.privateField = value;
}

public int getPrivateField() {
return this.privateField;
}
}

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

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

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov