Are static variables inherited

前端 未结 3 809
南方客
南方客 2020-11-28 12:56

I have read at 1000\'s of locations that Static variables are not inherited. But then how this code works fine?

Parent.java

public c         


        
3条回答
  •  刺人心
    刺人心 (楼主)
    2020-11-28 13:51

    "Inherited" is not an ideal description of what is happening; a better way to describe it would be to say that static variables are shared among the subclasses of the base class.

    All derived classes obtain access to static variables of their base classes. This includes protected variables, mirroring the situation with variables that are inherited.

    The concept of hiding applies as well: when a class-specific variable str appears in the Child class, it hides the str variable of the parent class.

    Note that the variable str of the base class does not become inaccessible: Child can still access it by fully qualifying with the name of Parent class.

提交回复
热议问题