Ok. I am completely lost when it comes to the difference between instance variable(non-static fields) and class variables(static fields)? I have looked and researched for the past couple of hours and for some reason I can not figure out what instance really even means in this context? I am just completely lost when it comes to this. Can someone I guess dumb it down for me? Thanks.
Have you experimented with some small programs? That's one of the best ways to understand.
The references to the static variable common through instances on lines 17, 18, 20, 23, 24 is not good practice but it demonstrates the behavior of static variables. Basically, static or class variables are shared by all instances. Instance variables are specific to each object/instance.