static aur final
Ek static field ya method khud class ka hota hai, kisi individual instance ka nahi — Counter.increment() ki har call us ek shared Counter.count ko modify karti hai, isi wajah se teen calls use 3 par chhodti hain, na ki teen alag instances jo har ek 1 par baithe hon.
public class Main {
static class Counter {
static int count = 0;
static void increment() {
count++;
}
}
public static void main(String[] args) {
Counter.increment();
Counter.increment();
Counter.increment();
System.out.println(Counter.count);
}
}3
final
final kisi cheez ko set hone ke baad unmodifiable mark karta hai. Ek variable par, iska matlab hai ki reference ko kabhi bhi reassign nahi kiya ja sakta, jo Java mein ek constant declare karne ka conventional tarika hai — yahan PI_APPROX ko kahin se bhi padha ja sakta hai lekin kabhi badla nahi ja sakta.
public class Main {
static final double PI_APPROX = 3.14159;
public static void main(String[] args) {
double radius = 2;
System.out.println(PI_APPROX * radius * radius);
}
}12.56636
Aage: Optional par ek closing look, aur is course ne kya cover kiya.
Practice exercise
Ek class Counter define karo jiska ek static int count ho jo 0 se shuru ho aur ek static method increment() ho jo usme 1 add kare. increment() ko teen baar call karo, phir Counter.count print karo.