Java Programs Demonstrating OOP Concepts
Abstraction
abstract class Shape {
abstract void draw(); // abstract method
}
class Circle extends Shape {
void draw() {
System.out.println("Drawing Circle");
}
public static void main(String[] args) {
Shape s = new Circle();
s.draw();
}
}
Encapsulation
class Student {
private int age; // private variable
public void setAge(int a) {
age = a;
}
public int getAge() {
return age;
}
public static void main(String[] args) {
Student s = new Student();
s.setAge(20);
System.out.println(s.getAge());
}
}
Inheritance
class Animal {
void eat() {
System.out.println("Animal eats");
}
}
class Cat extends Animal {
public static void main(String[] args) {
Cat c = new Cat();
c.eat(); // Inherited method
}
}
Polymorphism
class Vehicle {
void run() {
System.out.println("Vehicle is running");
}
}
class Bike extends Vehicle {
void run() {
System.out.println("Bike is running");
}
public static void main(String[] args) {
Vehicle v = new Bike(); // Upcasting
v.run(); // Runtime Polymorphism
}
}