hi sapna
all the scopes like Private, Protected etc are "LEXICAL". meaning, they are textual. they ARE NOT related to objects we create.
so, if i have private int x in my class C then i can refer to variable x withing the class definition ANYWHERE regardless of which object it belongs.
eg.
this will print swapped values as we exchanged the values of c1 and c2 objects.
here we access c2.x at line 1 but still it works! why? because the access of var x is not related to the object of class C (that is c2 here) but its LEXICAL. we are referring to var x in the textual scope of class C. thats why it works.
in the S.o.p in main method i have used c1.x and c2.getX() just to show that we can access x in anyway.
if we had another class called A and private var y in that class which we wanted to use in class C's method
test() then it wouldn't work.
hih
maulin