Здесь вопросы не только к этой задаче. Вот эта часть кода public static void hackSalary(int a+100) - мы объявляем метод и и даем ему входной параметр 700, верно? А вот эта строчка кода hackSalary(700) - что означает? Этой строкой мы вызываем метод, который объявлен ниже? Если верно, то почему мы не написали код в хронологическом порядке - сначала нужно же объявить метод, а потом его вызвать? Потому что начинать нужно с метода main? Код не компилировался, пока в строке объявления метода hackSalary в скобках было (int a+100). Убрал +100 и начало работать (т.е. операцию сложения убрал в команду print). Правильно я понимаю, что в аргументах метода не работают функции сложения таким способом? Слово static в объявлении метода - в каких случаях вместо него нужно писать что-то другое? Чем возвращение данных return отличается от команды print? Вот эта строчка person = new Person(); означает, что мы создали экземпляр класса person, т.е. объект? Это и есть наследование?