Object-Oriented Programming (OOP)
-> Java is an Object-Oriented Programming (OOP) language based on objects.
-> OOP promotes modularity, reusability, and scalability.
1. Classes & Objects
A class is a blueprint for creating objects. An object is an instance of a class.
class Car { String brand; int speed; void accelerate() { speed += 10; System.out.println(brand + " is running at " + speed + " km/h."); } } public class Main { public static void main(String[] args) { Car myCar = new Car(); myCar.brand = "Toyota"; myCar.speed = 50; myCar.accelerate(); } }
2. Encapsulation
Encapsulation means hiding data inside a class and controlling access via getters and setters.
class BankAccount { private double balance; public void deposit(double amount) { if (amount > 0) balance += amount; } public double getBalance() { return balance; } }
3. Inheritance
Inheritance allows one class to inherit properties and methods from another.
class Animal { void makeSound() { System.out.println("Some sound..."); } } class Dog extends Animal { void bark() { System.out.println("Woof! Woof!"); } } public class Main { public static void main(String[] args) { Dog myDog = new Dog(); myDog.makeSound(); myDog.bark(); } }
4. Polymorphism
Polymorphism allows methods to have multiple implementations, such as method overriding.
class Animal { void makeSound() { System.out.println("Animal makes a sound"); } } class Dog extends Animal { @Override void makeSound() { System.out.println("Dog barks"); } }
5. Abstraction
Abstraction hides implementation details and exposes only the essential features.
abstract class Vehicle { abstract void start(); } class Car extends Vehicle { void start() { System.out.println("Car starts with a key"); } }
6. Interfaces
An interface only contains abstract methods.
interface Animal { void makeSound(); } class Cat implements Animal { public void makeSound() { System.out.println("Meow"); } }
Attempt Test oops concept