It's from an OOP perspective that we most often talk about "has-a" and "is-a"
relationships. So though you are technically correct, that a class also will have
variables and constants, the preferred answer talks about objects and inheritance.
Static variables are class level variables and are initialized before the actual class object, is created. Jim is right, and it can be a little confusing but has-a and is-a jargon refers to the instantiation of objects on the heap and from the perspective any relationships between those objects such as in inheritance. In this sense a class object once instantiated as an object doesn't own static variables, they belong to the class itself and as such are shared by ALL instances of the class, not just one class object.
be a well encapsulated person, don't expose your privates, unless you public void getWife()!