Static variable or class variable & static method is based on the class.
Static variable:
void main() {
var obj = A();
print(A.y);
}
class A
//int x = 10;
static int y = 20;
}
// output: 20
The class name is required to access the static variable.
So, this static variable is created only once in the entire class.
Static Method:
Static methods (class methods) don't operate on an instance, and thus don't have access to
this
.They do however have access to static variables.
An static method is related to a class rather than an object of the class. We can call the static method directly without creating an object of the class.
Static methods are designed in such a way that they can be shared among all objects created using the same class.
void main() {
//var obj = A();
A.display();// Static Method call
}
class A
int x = 10;
static int y = 20;
static void display() {
print(y);
}
}
// output: 20
Within a static method, we can only access static variables.
Benefits of Static Variables and Methods:
Memory Efficiency: Static variables consume memory only once, regardless of the number of instances created, making them memory-efficient.
Shared Data: Static variables allow sharing of data among all instances of the class, enabling centralized management of common resources.
Utility Functions: Static methods provide a convenient way to define utility functions that are not tied to any particular instance, enhancing code organization and readability.