JAVA Tutorial
Estimated reading: 4 minutes 29 views

๐Ÿงฑ Java Object-Oriented Programming โ€“ Mastering OOP Concepts in Java (2025)


๐Ÿงฒ Introduction โ€“ Why Learn Java OOP?

Java is a pure object-oriented language (except for primitive types) designed to create modular, flexible, and reusable code. OOP in Java provides a structured approach that mimics real-world entities through objects and classes.

๐ŸŽฏ In this guide, youโ€™ll explore:

  • Core OOP principles: encapsulation, inheritance, polymorphism, abstraction
  • Java-specific implementations like interfaces, inner classes, and enums
  • Practical usage of constructors, attributes, and modifiers
  • Real-world interaction through user input and Java’s date API

๐Ÿ“Œ Topics Covered

๐Ÿ”ข Topic๐Ÿ“˜ Description
Java OOPCore concepts: encapsulation, inheritance, etc.
Java Classes/ObjectsCreating templates and real-world instances
Java Class AttributesVariables representing object state
Java Class MethodsFunctions that define object behavior
Java ConstructorsSpecial methods to initialize objects
Java ModifiersAccess control (public, private, etc.)
Java EncapsulationRestricting access to class internals
Java Packages / APIOrganizing classes and accessing built-in libraries
Java InheritanceReusing code across classes
Java PolymorphismMultiple behaviors using the same method
Java Inner ClassesClass inside another class
Java AbstractionHiding implementation details
Java InterfaceContract-based design
Java EnumsFixed set of constants
Java User InputAccepting input using Scanner class
Java DateWorking with date/time using LocalDate, etc.

๐Ÿงฑ Java OOP โ€“ The Pillars

Java is built around these 4 OOP pillars:

๐Ÿงฉ Principle๐Ÿง  Meaning
EncapsulationHide internal details using private variables
InheritanceShare behavior and structure from base classes
PolymorphismSame method, different behavior
AbstractionFocus on “what” over “how”

๐Ÿงฑ Java Classes & Objects

A class is a blueprint; an object is its real-world implementation.

๐Ÿงช Example:

class Car {
  String brand = "Toyota";
}

public class Main {
  public static void main(String[] args) {
    Car myCar = new Car();
    System.out.println(myCar.brand);
  }
}

๐Ÿ” Line-by-Line:

  • class Car โ†’ Defines a class with an attribute.
  • Car myCar = new Car(); โ†’ Creates an object myCar.
  • System.out.println... โ†’ Prints attribute value.

๐Ÿงฉ Java Class Attributes

Attributes (or fields) define the state of an object:

public class Person {
  String name = "John";
  int age = 30;
}

They can be public, private, or protected.


๐Ÿ”ง Java Class Methods

Methods define behaviors of objects:

class Dog {
  void bark() {
    System.out.println("Woof!");
  }
}

Called using objectName.methodName().


๐Ÿ—๏ธ Java Constructors

A constructor initializes new objects.

class Student {
  String name;

  Student(String n) {
    name = n;
  }
}

Used via new Student("Alice");


๐Ÿ”’ Java Modifiers

๐Ÿ” Modifier๐Ÿ” Purpose
publicAccessible from anywhere
privateAccessible within class only
protectedAccessible in package/subclass
defaultPackage-level access

๐Ÿ“ฆ Java Encapsulation

Encapsulation protects internal object state:

class Account {
  private int balance = 1000;

  public int getBalance() {
    return balance;
  }
}

Only exposed via getters/setters.


๐Ÿ“ Java Packages & API

Java uses packages to organize code:

import java.util.Scanner;

java.util, java.time, and java.io are common built-in packages.


๐Ÿงฌ Java Inheritance

Allows a class to inherit from another:

class Animal {
  void sound() {
    System.out.println("Animal sound");
  }
}

class Cat extends Animal {
  void sound() {
    System.out.println("Meow");
  }
}

๐ŸŒ€ Java Polymorphism

Same method, different output:

Animal a = new Cat();
a.sound();  // Meow

Runtime polymorphism via method overriding


๐Ÿ—๏ธ Java Inner Classes

Defined inside another class:

class Outer {
  class Inner {
    void show() {
      System.out.println("Inside Inner");
    }
  }
}

Useful for encapsulating logic.


๐ŸŒซ๏ธ Java Abstraction

Hides internal logic:

abstract class Shape {
  abstract void draw();
}

class Circle extends Shape {
  void draw() {
    System.out.println("Drawing Circle");
  }
}

๐Ÿงฉ Java Interface

Defines contract behavior:

interface Animal {
  void makeSound();
}

class Dog implements Animal {
  public void makeSound() {
    System.out.println("Bark");
  }
}

๐Ÿ”ข Java Enums

Represents fixed constants:

enum Day {
  MONDAY, TUESDAY, WEDNESDAY;
}

Use: Day d = Day.MONDAY;


โŒจ๏ธ Java User Input

Use Scanner to get input:

import java.util.Scanner;

Scanner input = new Scanner(System.in);
String name = input.nextLine();

๐Ÿ—“๏ธ Java Date

Java 8+ introduced java.time API:

import java.time.LocalDate;
LocalDate today = LocalDate.now();
System.out.println(today);

๐Ÿ“Œ Summary โ€“ Recap & Next Steps

Java OOP provides a foundation for scalable, reusable code in real-world software.

๐Ÿ” Key Takeaways:

  • Understand OOP pillars: encapsulation, inheritance, polymorphism, abstraction
  • Use constructors, methods, modifiers for object behavior
  • Utilize packages, interfaces, and enums for organized, robust code
  • Accept input & manage dates with built-in API

โš™๏ธ Next Steps:

  • Create your own Bank, Employee, or Library class with real attributes/methods
  • Explore JavaFX or Spring to build GUI or backend apps using OOP

โ“ Frequently Asked Questions (FAQs)


โ“ Can a class inherit from multiple classes in Java?
โŒ No. Java supports single inheritance only. Use interfaces for multiple behavior types.


โ“ What is the difference between abstract class and interface?
โœ… Abstract classes can have concrete methods; interfaces can only have abstract methods (until Java 8 which added default methods).


โ“ Can we override constructors?
โŒ No. Constructors can’t be inherited, only methods can be overridden.


โ“ Why use inner classes?
โœ… For logical grouping, accessing outer class members, and encapsulating helper classes.


โ“ What’s the benefit of encapsulation?
โœ… It secures data, provides maintainability, and improves modularity.


Share Now :

Leave a Reply

Your email address will not be published. Required fields are marked *

Share

๐Ÿงฑ Java Object-Oriented Programming

Or Copy Link

CONTENTS
Scroll to Top