📘 Module 7: Access Modifiers & Packages
Java में security, visibility और code organization के लिए दो बड़े टूल्स होते हैं:
- 🔐 Access Modifiers – कौन सा variable या method कहाँ से access किया जा सकता है
- 📦 Packages – Java files को logically organize करने का तरीका
🔷 Part 1: Access Modifiers
📌 Definition:
Access modifiers वो keywords होते हैं जो यह तय करते हैं कि कोई class, method, या variable कहाँ से access किया जा सकता है।
✅ Types of Access Modifiers:
Modifier | Same Class | Same Package | Subclass (Different Package) | Other Class |
---|---|---|---|---|
public | ✔️ | ✔️ | ✔️ | ✔️ |
protected | ✔️ | ✔️ | ✔️ | ❌ |
(default) | ✔️ | ✔️ | ❌ | ❌ |
private | ✔️ | ❌ | ❌ | ❌ |
🧠 Real Use Case:
private
→ sensitive data (e.g., password)public
→ API methodsprotected
→ methods जो subclasses access कर सकेंdefault
→ internal package-level use
🔹 Example:
class Example {
public int x = 10;
private int y = 20;
protected int z = 30;
int a = 40; // default
}
🔷 Part 2: Packages
📌 Definition:
Package Java में classes को group करने का तरीका है ताकि code organized और manageable बना रहे।
Java में दो तरह के packages होते हैं:
Type | Examples |
---|---|
Built-in | java.util , java.io , java.lang |
User-defined | आप खुद बना सकते हैं |
✅ Built-in Package Example:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
}
}
✅ User-defined Package Example:
Step 1: Package बनाइए
package mypack;
public class Message {
public void show() {
System.out.println("Hello from package");
}
}
Step 2: Use कीजिए
import mypack.Message;
public class Test {
public static void main(String[] args) {
Message m = new Message();
m.show();
}
}
✅ Package बनाते समय ध्यान रखने वाली बातें:
- Java file का पहला line:
package mypack;
- Package folder structure:
mypack/Message.java
- Compile:
javac -d . Message.java
- Run:
java mypack.Message
📘 Summary Table
🔐 Access Modifiers
Modifier | Scope |
---|---|
public | सब जगह accessible |
private | सिर्फ class के अंदर |
protected | package + subclasses |
default (no modifier) | सिर्फ package के अंदर |
📦 Packages
Type | Description |
---|---|
Built-in | Java-provided classes (e.g., Scanner ) |
User-defined | Developer-created, जैसे com.mycompany.project |
🧪 Practice:
- एक class में 4 variables बनाइए — हर access modifier के साथ
- एक user-defined package बनाकर 2 classes को अलग-अलग package में रखिए
- एक method को protected रखिए और subclass में use करके देखिए
Comments