@ G_S:
This is used for referring to this class' variable whose name is similar to the method's parameter?
a methods parameter, also called a local/static variable can be same or different to a class' variable, also called a instance variable. WHY? because they have different scopes... atleast in the above example it does. also, u should know, that a local variable lives in the stack , and an instance variable lives in the heap. so that further adds to why having the same name really doesnt matter too much.
Children inherit their parent's methods and attributes BUT using the paren't setter doesn't set the children's variables? If so, then using the childrens setter will only set the age and, id and name of ONE child and not the parent's or the other child's?
you can always download eclipse or netbeans, install it, and put this code there, and check ur ideas. thats one of the benefits of coding... that way, u can see 1st hand what effects these tweaks result in. whatever doubts you have then, you can always post here. :)
also, i agree that since we dont know what your teacher did, it would be a bad idea to compare with it. maybe you can post the code here. :)