This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori 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.