You would not be able to get exactly the same functionality using a static int member variable in Person. Since all objects of type Person would share the current year if you used static, you could change the current year and have all of the ages changed accordingly; that would not be a problem. But you could not have some subset of the Person objects have a different current year than everyone else. 


You can, however, do this using the MyInteger class. This is why franklin did not age when everyone else did; he had a reference to a different MyInteger object then everyone else did. If you use static instead, then everyone must share the same static int and everyone must change their age with a cal to Person.incYear (4);