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

    Person j;  // создали переменную класса Person
    j=new Person ("John"); // присвоили переменной j ссылку на новый объект и передали атрибут
    j.setAge(20); //присвоили значение 20 полю age класса Person
    celebrateBirthday(j); //
        System.out.println(j.getAge());
    }
    static void celebrateBirthday(Person p) {
        p.setAge(p.getAge()+1);
 /*
Почему тип данных Person ? Вроде понятно что передаем j
и присваиваем значение полю age  j.setAge(j.getAge()+1)= j.setAge (21)
*/
    }

}
class Person {
    private String name;
    private int age;

    Person (String n) {
        this.name=n;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}