А кто мне скажет,уважаемые друзья,почему на экран выводится сначала Age in adjustAge is: 20,
а потом Adjusted age is:40,ведь в программе они идут в другом порядке
public class Main {
public static void main(String[] args) {
Person person = new Person();
System.out.println("Age is: " + person.age);
person.adjustAge(person.age);
System.out.println("Adjusted age is:" + person.age);
}
public static class Person {
public int age = 20;
public void adjustAge(int age) {
this.age = age + 20;
System.out.println( "Age in adjustAge is: "+ age);
}
}
}
Михаил
17 уровень
Помогите разобраться
Архивный
Комментарии (9)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Евгений R&D pharmaceutical develo
24 января 2021, 13:12
System.out.println( "Age in adjustAge is: "+ age); тут вы берете параметр который передали в метод а он и равен 20. попробуйте System.out.println( "Age in adjustAge is: "+ this.age);
0
Михаил
24 января 2021, 17:22
Спасибо,попробую
0
Михаил
24 января 2021, 17:31
а если добавить this то я указываю на переменную метода
0
Евгений R&D pharmaceutical develo
26 января 2021, 13:34
Вы указываете на поле объекта.
public int age = 20;
это поле объекта.
public void adjustAge(int age) {
//тут age это переданная переменная в метод.
}
соотвественно
System.out.println(this.age); выводит поле объекта.
System.out.println(age); выводит то что вы передали в метод.
+1
Михаил
27 января 2021, 15:31
Спасибо,c (this и age) понятно,но почему они выводятся на экран не в том порядке
в коде System.out.println("Adjusted age is:" + person.age);потом System.out.println( "Age in adjustAge is: "+ age);а на экран они выводятся в обратном порядке?
0
Евгений R&D pharmaceutical develo
27 января 2021, 19:05
потому что сам метод тоже выводит сообщение. порядок таков:
первый вывод System.out.println("Age is: " + person.age);
потом программа заходит в метод и выводит это : System.out.println( "Age in adjustAge is: "+ age);
после чего программа покидает метод и наконец выводит System.out.println("Adjusted age is:" + person.age);
Age is: 20
Age in adjustAge is: 20
Adjusted age is: 40
какой у вас вывод на консоль?
0
Михаил
31 января 2021, 07:29
Cпасибо за ответ,вывод такой же
Age is: 20
Age in adjustAge is: 20
Adjusted age is: 40
0
Константин
31 января 2021, 08:04
+2
Константин
31 января 2021, 08:08
0