Why we cannot use instance variable in a static method?
I know that static methods are called without creating instance of classes but what restricts the non static variable to be used in static method?
class MyClass
{
// non-static instance member variable
private int a;
//static member variable
private static int b;
//static method
public static void DoSomething()
{
//this will result in compilation error as “a” has no memory
a = a + 1;
//this works fine since “b” is static
b = b + 1;
}
}
ain each instance, which would you expect to be incremented? What if you haven't created any instances yet? You could pass an instance to a static method as a parameter.MyClass? If so, consider the infinitely abusable Singleton Pattern instead of creating a static class.