This week's book giveaway is in the Mac OS forum. We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line! See this thread for details.
when you instatiate cert you pass 10 and it calls a super constructor but super constructor does not save the increased value anywhere, and when x++ is executed in cert it has value 10 so after the statement it becomes 11.
and if you call super.x it will print 10 original value of x in super class.
When you are calling Grade(int x) constructor and incrementing x value i.e x++, means you are increasing local variables value, not the class's static variable's value(remember that concept of shadowing is applied here).