This question is mainly addressed to Jane Griscti but anyone who has any idea about the answer is free (and encouraged) to give it In the tutorial "SCJP2 Study Notes", in section "Overloading, Overriding, Runtime Types and Object Orientation - Static Nested Classes" it is stated, I quote:
- they are not associated with an instance of their outer class ie you can create an Inner class object from within the Outer class using new Inner(); you do not need to create an Outer class object first as is required with non-static inner classes - you cannot create instances of a static inner class
So to summarize, the first statement says that we may create an Inner class object and the second statement says that we cannot create instances of static inner classes. It is worth noting that both statements concern static inner classes, a.k.a. top-level nested classes. Anyone any insight ? Thank you very much Val
Yup ... I'm not the greatest note taker The pages aren't meant to be a 'tutorial' ... just the notes I made during my orignal studies. You can create 'instances' of a static nested class. See the following example:
Thanks for pointing out the mistake on my pages. Also, I should have listed that 'static inner classes can directly access static fields in the outer class but require an instance of the outer class to access the outer class instance fields'
------------------ Jane Griscti Sun Certified Programmer for the Java� 2 Platform