Разъясните пожалуйста простым языком, действия происходящее в коде

public class Main {
    public static void main(String[] args) {

        Cat cat = new Cat();

        System.out.println(cat.name);
        changeName(cat);
        System.out.println(cat.name);
    }

    public static void changeName(Cat cat) {
        cat.name = "Jerry";
    }

    public static class Cat {        
        String name = "Tom";
    }
}

Ответы (1 шт):

Автор решения: стасевич

начинается всё с метода main, это входная точка, с которой начинается исполнение программы.

public static void main(String[] args) {  

затем создаётся объект класса Cat c именем cat

Cat cat = new Cat();  

смотрим сам класс

 public static class Cat {        
        String name = "Tom";
    }    

у класса имеется одно свойство, строковое поле под именем name, в которое сразу записывается значение "Tom".

далее выводим в консоль значение поля name у ранее созданного объекта класса Cat

System.out.println(cat.name);     

вызываем статический метод, который в параметры принимает любой объект класса Сat и меняем значение поля name на "Jerry"

 public static void changeName(Cat cat) {
        cat.name = "Jerry";
    }

ну и в конце выводим новое значение поля name объекта cat

System.out.println(cat.name);
→ Ссылка