Вы можете сделать одно из следующих двух вещей, чтобы ваш переменный экземпляра класса:
THING # 1: Держите ваш переменный экземпляр конфиденциальными. Затем вы получите общедоступные методы getter и setter и установите значение этой переменной. Хорошая вещь в том, что вы можете поставить чеки внутри метода setter. Например, длина никогда не может быть отрицательной. Таким образом, вы не можете просто сделать длину публичной, и пусть кто-то присваивает ей любое значение, которое они хотят. Вы должны убедиться, что назначенное ему значение не является отрицательным. Итак:
class myClass {
private int length;
public void setLength(int i) {
if (i > 0) {
length = i;
}
}
}
Кроме того, вы можете сделать ваши переменные экземпляра только для чтения, только для записи или чтения и записи, в зависимости от наличия методах получения и установки для этой частной переменной.
THING # 2: Если вам не нужны какие-либо ограничения на значение переменной экземпляра, и вы хотите, чтобы он не был доступен только для чтения и не был написан только для записи, то это прекрасно, чтобы сохранить эту переменную общедоступной.Например: дети могут иметь любое имя - без ограничений:
class Baby {
public name;
}
class Mother {
public void nameTheBaby() {
Baby baby = new Baby();
baby.name = "Sarah";
}
}
Вы пытаетесь сказать, что сможете получить доступ к 'XYZ.abc.isExist' из другого класса? Это не правда. – shmosel
@shmosel Нет, это не то, что я сказал. –
Вы говорите, что если 'isExist' были закрытыми, он не был бы доступен из' XYZ'? Это тоже не так. – shmosel