This week's book giveaway is in the OCMJEA forum. We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara on-line! See this thread for details.
You have declared a child class as inner class.As per JAVA ,inner class has no self existence ,it's scope is limited to the declared class.Therefore it can access private(public ,protected) members of outer class.Just check the class file name of this class.it will be like "Parent$Child.class" ,separated by "$".
About "private abstract retrunType someMethod()" , already good explanation posted above.I would like to add only that in my opinion "private" and "abstract" is contradictory.Private is just to hide something and abstract give you the facility to someone to write on implementation(to exhibit).There language of creator did not allow us to write "private abstract" simultaneosly.