Ребят, помогите понять как так получается что если не поставить у метода1 класса А модификатор private, то вывод становиться не корректным. У нас метод2 класса С сначала печатает, потом вызывает метод1 класса В, который сначала вызывает метод2 класса А, а потом печатает свое, а затем метод2 класса А вызывает просто метод1, до этого момента у нас вывод вот такой: C class, method2 A class, method2 и тут если модификатор стоит не private(на методе1 клааса А) то метод2 класса А вызовет метод1 класса С, а не класса А (почему то), и вывод дальше будет : C class, method1 B class, method1 (так как программа вернулась к выполнению все того же вызванного метода1 класса В, тут понятно). А если поставить модификатор private то метод1 класса А вызовет метод этого же класса и вывод будет: A class, method1 B class, method1 В общем пожалуйста помогите понять принцип влияние этого модификатора на последовательность выполнения