I have 3 questions related to the following program:-
My question starts from the eight'th line ....
1.if we cannot access non static variables why does the static method main lets me make a variable x?
2.i get it that i cannot make an instance variable of S1 but then why can i make an instance variable of Y?
I am sorry if the questions are too stupid but i think it's best to have answers for the language you love.
Please keep your indentation when pasting code next time. I've added some and it immediately shows that class S1 is a non-static nested class inside class Xyz. I think Fred missed that (because of the lack of indentation), because there is no extra }.
budsy remo wrote:1.if we cannot access non static variables why does the static method main lets me make a variable x?
You can't access non static fields. Local variables declared inside the method itself are always accessible inside the method.
2.i get it that i cannot make an instance variable of S1 but then why can i make an instance variable of Y?
Class Y is a top-level class. Class S1 is, as I said before, a non-static nested class inside class Xyz (a.k.a. an inner class). Because it's nested the same rules for fields apply - you need an instance to create instances of this class:
thanks a million Rob Spoor ,didn't know that we can actually make instances of an inner class through that syntax . Thanks to others too for answering .Will give some more study .
Post by:autobot
Aaaaaand ... we're on the march. Stylin. Get with it tiny ad.
a bit of art, as a gift, the permaculture playing cards