Home / Java Programming / Inner Classes :: Discussion

Discussion :: Inner Classes

  1. Which statement is true about a static nested class?

  2. A.
    You must have a reference to an instance of the enclosing class in order to instantiate it.
    B.
    It does not have access to nonstatic members of the enclosing class.
    C.
    It's variables and methods must be static.
    D.
    It must extend the enclosing class.

    View Answer

    Workspace

    Answer : Option B

    Explanation :

    Option B is correct because a static nested class is not tied to an instance of the enclosing class, and thus can't access the nonstatic members of the class (just as a static method can't access nonstatic members of a class).

    Option A is incorrect because static nested classes do not need (and can't use) a reference to an instance of the enclosing class.

    Option C is incorrect because static nested classes can declare and define nonstatic members.

    Option D is wrong because it just is. There's no rule that says an inner or nested class has to extend anything.


Be The First To Comment