---Advertisement---

Static Variables, Methods, and Blocks in Java-Great Opportunity 2025

By Shiva

Published On:

---Advertisement---

Static Variables, Methods, and Blocks in Java

A static variable in Java is a class-level variable that is shared among all instances of the class. Unlike instance variables, which are created each time a new object is instantiated, static variables are initialized only once, when the class is loaded into memory.

  • Belongs to the class rather than any specific object.
  • Initialized only once at the start of execution.
  • Shared by all instances of the class.
  • Can be accessed directly using the class name (ClassName.variableName).
Syntax:
java

class ClassName {
static int variableName;
}
Example Usage:
java

class Student {
static int count = 0; // Static variable

Student() {
count++; // Increment count when a new object is created
}

void showCount() {
System.out.println("Number of students: " + count);
}
}

public class Demo {
public static void main(String[] args) {
Student s1 = new Student();
Student s2 = new Student();
Student s3 = new Student();

s3.showCount(); // Output: Number of students: 3
}
}

A static method in Java is a method that belongs to the class rather than an instance of the class. It can only access static data and cannot directly interact with instance variables or methods.

  • Can be called using the class name (ClassName.methodName()).
  • Can only access static data members.
  • Cannot use this or super keywords.
  • Cannot directly call non-static methods.
Syntax:
java

class ClassName {
static void methodName() {
// Code here
}
}
Example Usage:
java

class MathUtil {
static int square(int num) {
return num * num;
}
}

public class Demo {
public static void main(String[] args) {
System.out.println("Square of 5: " + MathUtil.square(5)); // Output: Square of 5: 25
}
}

A static block in Java is a block of code inside a class that runs once when the class is loaded into memory. It is typically used for static variable initialization.

  • Executed only once when the class is loaded.
  • Runs before any constructors or static methods.
  • Used for initializing static variables.
Syntax:
java

class ClassName {
static {
// Initialization code
}
}
Example Usage:
java

class Config {
static int maxUsers;

static {
maxUsers = 100;
System.out.println("Static block executed! Max users set to " + maxUsers);
}
}

public class Demo {
public static void main(String[] args) {
System.out.println("Max users: " + Config.maxUsers);
}
}
Output:
bash

Static block executed! Max users set to 100
Max users: 100
  • Why Use Static in Java? Static variables reduce memory usage by storing data at the class level.
  • Best Practices for Static Methods: Use them for utility functions like mathematical operations and configuration settings.
  • Static Block vs Constructor: A constructor is invoked when an object is created, whereas a static block runs once when the class is loaded.
  • Performance Considerations: Using static variables excessively can lead to memory leaks if they are not cleared properly.

By understanding static variables, methods, and blocks, developers can write optimized and efficient Java programs. 🚀



---Advertisement---

Leave a Comment