अगर आप Java सीख रहे हैं या पहले से coding कर रहे हैं, तो आपने जरूर सुना होगा access modifiers in java के बारे में। लेकिन बहुत-से students को यह clear नहीं होता कि public, private, protected और default modifier असल में होते क्या हैं और इन्हें कहाँ, कब और क्यों use करना चाहिए। इस आसान Hindi guide में आप step-by-step समझेंगे कि Java में access modifiers कैसे काम करते हैं, real-life examples के साथ, ताकि आपकी concepts strong हों और interview या exams में आप confidently answer दे सकें।
एक्सेस मॉडिफायर क्या हैं (What is Access Modifiers in Java in Hindi) ?
Java एक Object Oriented Programming language है। यहाँ हम classes, objects, methods और variables के साथ काम करते हैं।
Access Modifiers का काम होता है – यह decide करना कि कोई class, method या variable program के किस हिस्से से access किया जा सकता है।
यानि simple शब्दों में –
“कौन सा code, किसे दिखाई देगा और किसे नहीं” – यह control access modifiers करते हैं।
एक्सेस मॉडिफायर क्यों जरूरी हैं (Why Access Modifiers is Important) ?
मान लीजिए आप ATM machine बना रहे हैं।
- ATM का password हर किसी को नहीं दिखना चाहिए।
- Balance check का option सबको मिल सकता है।
इसी तरह Java में भी हम नहीं चाहते कि हर कोई हमारे program के हर हिस्से को change कर दे। इसलिए हम data hiding और security के लिए access modifiers use करते हैं। इससे:
- Code secure रहता है
- गलती से data change होने से बचता है
- Program easy to maintain बनता है
एक्सेस मॉडिफायर के प्रकार (Types of Access Modifiers in Java)
Java में कुल चार types के access modifiers होते हैं:
- Public
- Private
- Protected
- Default (जिसे package-private भी कहते हैं)
अब हम इन्हें detail में समझते हैं।
1. Public Access Modifier in Java
Public Access Modifier क्या होता है?
अगर किसी class, method या variable को public बनाया जाए, तो उसे program के किसी भी हिस्से से access किया जा सकता है – चाहे वो same package में हो या दूसरे package में।
Example:
public class Student {
public String name = "Ravi";
}
यहाँ name variable को कहीं से भी access किया जा सकता है।
Real Life Example:
Public modifier ऐसा है जैसे आपके घर का main gate खुला हो – कोई भी अंदर आ सकता है।
2. Private Access Modifier in Java
Private Access Modifier क्या होता है?
private modifier का मतलब – उसे सिर्फ उसी class के अंदर से access किया जा सकता है।
Class के बाहर से कोई भी उसे directly use नहीं कर सकता।
Example:
class BankAccount {
private int balance = 5000;
}
यहाँ balance variable को कोई दूसरी class access नहीं कर सकती।
क्यों जरूरी है Private?
Private modifier data को safe रखने के लिए use होता है। जैसे bank balance हर किसी को नहीं दिखाया जाता।
3. Protected Access Modifier in Java
Protected Access Modifier क्या होता है?
protected modifier से बनी चीजें:
- उसी package में accessible होती हैं
- और दूसरे package की subclasses भी इन्हें access कर सकती हैं
Example:
class Person {
protected String name;
}
अगर कोई class इस Person class को inherit करती है, तो वो name variable को use कर सकती है।
4. Default Access Modifier in Java
Default Access Modifier का मतलब?
अगर आप कोई modifier नहीं लिखते, तो Java automatically उसे default बना देता है।
Example:
class Demo {
int value = 10; // default access
}
यह variable सिर्फ उसी package में accessible रहेगा।
Java Program – सभी Access Modifiers का Complete Example
मान लीजिए हम एक Person नाम की class बनाते हैं जिसमें चारों प्रकार के access modifiers use होंगे।
Step 1: First Class – Person.java
// File: Person.java
package demo;
public class Person {
// 1. Public variable – हर जगह accessible
public String name = "Rahul";
// 2. Private variable – सिर्फ इसी class में accessible
private int age = 22;
// 3. Protected variable – same package और subclass में accessible
protected String city = "Delhi";
// 4. Default variable – सिर्फ same package में accessible
String country = "India";
// Private variable को access करने के लिए public method
public int getAge() {
return age;
}
}
अब हम उसी package में एक दूसरी class बनाते हैं जो इन सभी variables को access करेगी।
Step 2: Second Class – Main.java
// File: Main.java
package demo;
public class Main {
public static void main(String[] args) {
Person p = new Person();
// Public access – allowed
System.out.println("Name (Public): " + p.name);
// Protected access – allowed (same package)
System.out.println("City (Protected): " + p.city);
// Default access – allowed (same package)
System.out.println("Country (Default): " + p.country);
// Private access – direct access NOT allowed
// नीचे की line error देगी
// System.out.println(p.age);
// Private variable को public method से access करना
System.out.println("Age (Private via Method): " + p.getAge());
}
}
Output:
Name (Public): Rahul City (Protected): Delhi Country (Default): India Age (Private via Method): 22
इस Comprehensive Program से क्या Clear हुआ?
- name → public है, इसलिए हर जगह से access हो गया
- age → private है, इसलिए direct access नहीं हुआ, method से करना पड़ा
- city → protected है, इसलिए same package में accessible है
- country → default है, इसलिए सिर्फ same package में accessible है
इस single program से अब आपको access modifiers in java का पूरा concept एक ही जगह पर clearly समझ में आ जाता है – बिना किसी confusion के।
यह भी पढ़ें : जावा प्रोग्रामिंग की बेसिक को कैसे सीखें | How to learn basics of Java programming in Hindi
Access Modifiers in Java – Comparison Table
| Modifier | Same class | Same package | Subclass (Other package) | Other classes |
| Public | Yes | Yes | Yes | Yes |
| Protected | Yes | Yes | Yes | No |
| Default | Yes | Yes | No | No |
| Private | Yes | No | No | No |
Access Modifiers कहाँ use किए जाते हैं?
Java में access modifiers इन जगहों पर लगाए जाते हैं:
- Class
- Variables
- Methods
- Constructors
Note: Top-level class को कभी भी private या protected नहीं बना सकते।
Best Practices for Using Access Modifiers
- जितना जरूरी हो उतना ही access दें
- Variables को ज़्यादातर private रखें
- Methods को तभी public बनाएं जब बाहर से call करनी हों
- Encapsulation follow करें
यह भी पढ़ें : What is compilation in Hindi | कंपाइलेशन क्या है पूरी जानकारी
निष्कर्ष (Conclusion)
अब आप अच्छे से समझ चुके हैं कि access modifiers in java क्या होते हैं और ये program की security और structure के लिए कितने important हैं। अगर आप Java developer बनना चाहते हैं तो इन concepts को ignore मत करें, क्योंकि यही आपको professional coder बनाते हैं।
Practice करते रहें, real examples बनाएं और धीरे-धीरे आपकी Java mastery strong होती जाएगी।
FAQs
Q1. सबसे ज्यादा restrictive modifier कौन सा है?
Ans. Private
Q2. क्या class को private बना सकते हैं?
Ans. नहीं, top-level class private नहीं हो सकती।
Q3. Default और protected में क्या difference है?
Ans. Protected subclass को दूसरे package में भी access देता है, default नहीं।
यह भी पढ़ें :