Никак не могу понять, почему если я
public void adjustAge(int age) {
(Поставлю тут Person.age = age + 20; то программа ругается что non-static variable age cannot be referenced from a static context, ведь класс Person статический. Если я ставлю This.age то все работает нормально, но опять почему в таком случае метод adjustAge может использовать age класса Person ?
package com.javarush.task.task04.task0401;
/*
Мне не подходит этот возраст…
*/
public class Solution {
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) {
age = age + 20;
System.out.println("The Age in adjustAge() is " + age);
}
}
}