Java में इनपुट/आउटपुट और स्ट्रीम्स
Alex Liu
Software Development Engineer
Animal क्लास एक सामान्य जानवर दर्शाता हैclass Animal {
void makeSound() {
System.out.println("Animal sound");
}
public static void main(String[] args) {
Animal a = new Animal();
a.makeSound(); // Output: Animal sound
}
}
Animal sound
// `extends` का उपयोग करके `Animal` की subclass `Dog` बनाएँ
class Dog extends Animal {
void bark() {System.out.println("Bark");}
}
public static void main(String[] args) {
Dog d = new Dog(); // Dog की नई instance, जो Animal को extend करता है
d.makeSound();
d.bark();
}
Animal sound
Bark
class Cat extends Animal {
@Override // `.makeSound()` के व्यवहार को ओवरराइड करने के लिए `@Override` उपयोग करें
void makeSound() {
System.out.println("Meow");
}
}
public static void main(String[] args) {
Cat c = new Cat(); // Cat की नई instance, जो Animal को extend करता है
c.makeSound(); // ओवरराइडेड method `makeSound()` को कॉल करें
}
Meow
public class RecursionExample {
static void countdown(int n) {
// Base case
if (n == 0) return;
System.out.println(n);
// Recursive call
countdown(n - 1);
}
}
public static void main(String[] args) {
countdown(5);
}
0 वाले base case पर पहुँचते ही रुकता है5
4
3
2
1
extends inheritance सक्षम करता है
@Override inherited behavior बदलता है
Recursion समस्या को छोटे स्टेप्स में तोड़ता है
Java में इनपुट/आउटपुट और स्ट्रीम्स