Почему я не могу обращаться к методам через класс? есть класс A у которого гетеры приватных полей, например public int getX() {retutn this.x} . Когда я из класса B обращаюсь к методу getX() через класс А то есть А.getX() то выходит ошибка а когда объявляю переменную типа класса А a то компилятор уже видит метод через а.getX(). 1. Объясните пожалуйста в чем здесь прикол. 2. Объявление переменных типо object могут хранятся в куче до инициализации ?
В Java методы, объявленные как private, доступны только внутри самого класса, в котором они были объявлены. Поэтому при попытке вызова метода getX() через класс A из класса B, вы получаете ошибку компиляции, так как метод getX() не является доступным извне класса A. Однако, при объявлении переменной типа класса A внутри класса B, метод getX() становится доступным для использования через эту переменную.
Переменные типа Object хранятся в куче, независимо от их инициализации. В случае если переменная типа Object не была инициализирована, ей присваивается значение null.
В Java методы, объявленные как private, доступны только внутри самого класса, в котором они были объявлены. Поэтому при попытке вызова метода getX() через класс A из класса B, вы получаете ошибку компиляции, так как метод getX() не является доступным извне класса A. Однако, при объявлении переменной типа класса A внутри класса B, метод getX() становится доступным для использования через эту переменную.
Переменные типа Object хранятся в куче, независимо от их инициализации. В случае если переменная типа Object не была инициализирована, ей присваивается значение null.