Не могу понять почему компилятор не ругается на someclass.field
:
public class Someclass {
private int field;
public int method(Someclass someclass) {
return this.field - someclass.field;
}
}
Поле field
же private
и, как я понимаю, при обращении через переменную someclass
должно быть недоступно.
Компилятор Вас не обманывает.
Предполагается что private
поле будет использоваться только внутри класса
, в котором оно объявлено.
Ваш пример никак не нарушает это правило, вы обращаетесь хоть и к полю объекта переданного по ссылке, но все-таки это экземпляр этого же класса
, в котором и происходит обращение к полю. Так что все легально.
Ключевое слово - Private
- оно ограничивает видимость данных и методов пределами одного класса, т.к. у Вас все в пределах одного класса, ругаться и не будет, но если Вы попробуете вызвать переменную таким образов в другом классе, данный метод не сработает
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
делаю мини сайти на jsp +servlet+ hibernate(просто для себя)Хочу к примеру сделать CRUD новостей или амдинку
Задача состоит в том, чтобы сделать коллекции ArrayList, LinkedList по-своемуЯ их сделал
Подскажите, как в андроид Java получить версию прошивки "Build number", которая отображается в "О телефоне"Нигде не могу найти
Как сделать такую анимацию волны, как в примере? По коду не могу понять толком, что тут происходитМожет кто-нибудь знает какой-нибудь урок,...