JAVA OOPS CONCEPTS
│
├── 1. Class
├── 2. Object
├── 3. Encapsulation
├── 4. Inheritance
├── 5. Polymorphism
└── 6. Abstraction
1. Class
Blueprint for creating objects. Defines what data (fields) and behavior (methods) objects will have.
Example
class Student {
String name;
int age;
void study() { System.out.println(name + " is studying"); }
}
2. Object
An actual instance created from the class, using new.
Example
Student s1 = new Student(); // object
s1.name = "Abinesh";
**
- Encapsulation** Hiding data using private, exposing it safely via getters/setters.
Example
class Account {
private double balance;
public double getBalance() { return balance; }
public void deposit(double amt) { balance += amt; }
}
4. Inheritance
Child class reuses parent class's code via extends.
Example
class Animal {
void eat() { System.out.println("eating"); }
}
class Dog extends Animal {
void bark() { System.out.println("barking"); }
}
5. Polymorphism
Same method name, different behavior.
Overloading (compile-time) — same method, different parameters, same class.
Overriding (runtime) — child class redefines parent's method.
Example
// Overloading
void add(int a, int b) {}
void add(int a, int b, int c) {}
// Overriding
class Animal { void sound() { System.out.println("sound"); } }
class Dog extends Animal { void sound() { System.out.println("bark"); } }
6. Abstraction
Hiding implementation details, showing only essential features. Done via abstract class or interface.
example
abstract class Shape {
abstract void draw(); // no implementation
}
class Circle extends Shape {
void draw() { System.out.println("drawing circle"); }
}
important oops concept **
**1.Constructor
Special method that runs automatically when an object is created. Same name as class, no return type. Used to initialize values.
Example
class Student {
String name;
Student(String n) { // constructor
name = n;
}
}
Student s1 = new Student("Abinesh"); // auto-called
2. this keyword
Refers to the current object. Mainly used to fix naming conflicts between instance variables and parameters.
example
class Student {
String name;
Student(String name) {
this.name = name; // this.name = instance var, name = parameter
}
}
String name;
Student(String name) {
this.name = name; // this.name = instance var, name = parameter
}
}
5. Instance vs Static
**
Instance members belong to each object separately.
Static members belong to the class itself — shared by all objects.
**Example
class Counter {
int id; // instance — different for each object
static int count = 0; // static — shared, one copy only
Counter() {
count++;
id = count;
}
}
Top comments (0)