Classes: Components and Features
- Fields / Instance Variables: Object ke state ko represent karte hain.
- Methods: Behavior ya functionalities jo objects perform karte hain.
- Constructors: Special methods, jo object creation par initialize karte hain.
- Static Members: Class level fields aur methods, jo objects ki bajay class associated hote hain.
- Access Modifiers:
public
,private
,protected
modifiers se access control hota hai. - Encapsulation: Data ko hide karke methods ke through access dena best practice hai.
Advanced Object Creation and Usage
public class Car {
private String model;
private int year;
// Constructor
public Car(String model, int year) {
this.model = model;
this.year = year;
}
// Getter and Setter (Encapsulation)
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
// Behavior method
public void display() {
System.out.println("Model: " + model + ", Year: " + year);
}
}
public class Main {
public static void main(String[] args) {
Car car1 = new Car("Toyota", 2020);
car1.display();
car1.setYear(2021);
System.out.println("Updated year: " + car1.getYear());
}
}
Multiple Objects and References
Ek class se kayi objects banaye ja sakte hain, alag alag references se. Har object apna unique state rakhta hai.
Car carA = new Car("Honda", 2018);
Car carB = new Car("Ford", 2019);
carA.display(); // Honda 2018
carB.display(); // Ford 2019
The this
Keyword
this
current object ko refer karta hai. Ye ambiguity door karta hai jab instance variable aur local variables ka naam same hota hai.
public void setModel(String model) {
this.model = model; // 'this.model' instance variable, 'model' parameter
}
Constructor Overloading
Ek class me multiple constructors banaye ja sakte hain alag alag parameters ke saath, jise constructor overloading kehte hain.
public class Car {
private String model;
private int year;
public Car() {
this.model = "Unknown";
this.year = 0;
}
public Car(String model) {
this.model = model;
this.year = 0;
}
public Car(String model, int year) {
this.model = model;
this.year = year;
}
}
Summary
Classes aur objects Java ke powerful tools hain jo real-world cheezon ko model karte hain. Inka accha use code ko reusable, modular aur maintainable banaata hai.