• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Thread --> run() method

 
Subhro Chowdhury
Greenhorn
Posts: 10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
A static variable can't be accessed from a non-static method. But we can access a static variable inside run() method.


This code compile and run successfully. How come we are accessing the threadcounter inside run() ?
 
Joanne Neal
Rancher
Posts: 3742
16
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Subhro Chowdhury:
A static variable can't be accessed from a non-static method.


Yes it can. Non-static variables can't be accessed from a static method.
 
Leandro Melo
Ranch Hand
Posts: 401
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi.

This is easy to understand. A static member (method or variable) doesn't belong to any instance of a class, it belongs to the class itself. Therefore, you can't access, for example, a non-static member from inside a static method, because there's no direct relationship that tells from which instance of the class the non-static member refers to. However, the other way around is perfectly acceptable, because a non-static method knows the class it belongs to, and then can access static members of this class.
 
Subhro Chowdhury
Greenhorn
Posts: 10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Got it. Thanks for the explanation.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic