Forums Register Login

static methods in detail

+Pie Number of slices to send: Send
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.
+Pie Number of slices to send: Send
Your code won't compile at all, so it's hard to answer your questions... There is an extra '}' at the end, and you don't initialize 'x'.

If you correct those two errors, it compiles and runs just fine.

and for question 1, the answer is because it is not a non-static variable.
+Pie Number of slices to send: Send
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:
+Pie Number of slices to send: Send
yup...totally missed it was an inner-class.
+Pie Number of slices to send: Send
For detailed background information, see: Understanding Instance and Class Members.
+Pie Number of slices to send: Send
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 .
Aaaaaand ... we're on the march. Stylin. Get with it tiny ad.
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 994 times.
Similar Threads
synchronised code or block???
Program on operators
static from non-static context
Problem with Objects and Classes
Slowly getting it
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 28, 2024 16:46:27.