Inherit private member

The following two classes are modified from the book of Khalid and Rolf

As we know, all members from superclass should inherited to subclass. However, from the above example, TubeLight cannot inherit the private members. Furthermore, if I changed the accessibility of the private members from the superclass Light to default/protected, the TubeLight class actually run the Light() constructor. Why this is the case

Java knows four access modifier: private protected, public and a default (there exists no word for it) private is only accessible in instances of the class. public is accessible by every class/object protected is like private, but can be inherited default can be accessed from objects in the same pakage. Hope this helped