تقوم البرمجة كائنية التوجه على أربعة مبادئ أساسية وهي التغليف Encapsulation والوراثة Inheritance وتعدد الأشكال Polymorphism والتجريد Abstraction. تدعم Java كل هذه المبادئ بشكل أصيل مما يجعلها لغة قوية لبناء أنظمة كبيرة قابلة للصيانة.

التغليف Encapsulation

التغليف يعني إخفاء البيانات داخل الكلاس وجعلها متاحة عبر دوال getter وsetter لضمان التحقق من القيم.

public class Account {
    private double balance;
    public double getBalance() { return balance; }
    public void deposit(double amount) {
        if (amount > 0) balance += amount;
    }
}

الوراثة Inheritance

class Animal {
    void eat() { System.out.println("يأكل"); }
}
class Dog extends Animal {
    void bark() { System.out.println("ينبح"); }
}
Dog d = new Dog();
d.eat();
d.bark();

تعدد الأشكال Polymorphism

class Shape {
    void draw() { System.out.println("شكل"); }
}
class Circle extends Shape {
    @Override
    void draw() { System.out.println("دائرة"); }
}
Shape s = new Circle();
s.draw(); // دائرة

التجريد Abstraction

abstract class Vehicle {
    abstract void move();
}
class Car extends Vehicle {
    void move() { System.out.println("تتحرك"); }
}