⬅ Previous Topic
Java Static Variables in ClassesNext Topic ⮕
Java Static Blocks⬅ Previous Topic
Java Static Variables in ClassesNext Topic ⮕
Java Static BlocksMath.sqrt()
or Integer.parseInt()
, you've already used static methods.
Static methods are useful when the behavior doesn’t depend on instance data (i.e., member variables). They're ideal for utility or helper operations.
static
keyword before the return type:
public class MathUtils {
public static int square(int x) {
return x * x;
}
}
You can call this method directly using the class name:
int result = MathUtils.square(5);
System.out.println(result);
25
public class Hello {
public static void sayStaticHello() {
System.out.println("Hello from static!");
}
public void sayInstanceHello() {
System.out.println("Hello from instance!");
}
public static void main(String[] args) {
// Calling static method
Hello.sayStaticHello();
// Calling instance method
Hello h = new Hello();
h.sayInstanceHello();
}
}
Hello from static!
Hello from instance!
public class Greet {
public static void sayHi() {
System.out.println("Hi there!");
}
}
public class Main {
public static void main(String[] args) {
Greet.sayHi();
}
}
Hi there!
public class Demo {
public static void showStatic() {
System.out.println("Static method called");
}
public void showInstance() {
System.out.println("Calling from instance method...");
showStatic(); // or Demo.showStatic();
}
public static void main(String[] args) {
new Demo().showInstance();
}
}
Calling from instance method...
Static method called
this
or super
.public class Test {
int x = 100;
public static void display() {
// System.out.println(x); // Compile-time error
System.out.println("Static method can't access instance variables directly");
}
}
public class Example {
static {
System.out.println("Static block executed");
}
public static void greet() {
System.out.println("Static method executed");
}
public static void main(String[] args) {
Example.greet();
Example.greet();
}
}
Static block executed
Static method executed
Static method executed
Math.abs()
, Math.max()
Collections.sort()
Integer.parseInt()
Thread.sleep()
These are all static — no need to instantiate the class.
⬅ Previous Topic
Java Static Variables in ClassesNext Topic ⮕
Java Static BlocksYou can support this website with a contribution of your choice.
When making a contribution, mention your name, and programguru.org in the message. Your name shall be displayed in the sponsors list.