В Java все аргументы метода передаются по значению, то есть копируется значение переменной (даже если она ссылочного типа). Однако у ссылочных переменных копируется лишь значение ссылки, а не объекта, на который она ссылается. Поэтому, если произойдет изменение состояния объекта, на который ссылается переданная ссылка, то эти изменения будут отражены на объекте, на который ссылается исходная переменная. Таким образом, то, что большинство людей называют "передачей по ссылке", на самом деле называется "передачей значения ссылки"...
В Java порядок вызова конструкторов и блоков инициализации в классе и его иерархии определяется следующим образом: Parent static block(s) → Child static block(s) → Grandchild static block(s) → Parent non-static block(s) → Parent constructor → → Child non-static block(s) → Child constructor → → Grandchild non-static block(s) → Grandchild constructor Например, рассмотрим следующий код: class Base {
static {
System.out.println("Статический блок инициализации базового класса");
}
Base() {
System...