Access Modifiers in Java hindi

                             Access Modifiers

java  में दो प्रकार के modifiers  हैं – access modifier और non-access modifiers
java classes ,variables, methods और constructors के लिए access levels  set  करने के लिए कई access modifiers provide करता है।  java  में चार  प्रकार  के  access modifiers हैं –
Default :-  default modifier का  access level  केवल package के अंदर ही होता  है। इसे package के बाहर से  access नहीं किया जा सकता है। यदि आप किसी भी access level को  indicated  नहीं करते हैं  तो यह default होगा।

private :  private modifier का  access level  केवल class  के अंदर ही  होता  है।  इसे class के बाहर से  access नहीं किया जा सकता ।

Protected: – protected modifier का access level package के अंदर और child class  के द्वारा  package के बाहर होता है। यदि आप child class नहीं बनाते हैं  तो इसे package  के बाहर से access  नहीं किया जा सकता है।
Public :-  public modifier का उपयोग  हर जगह कर सकते  है। इसे class के  अंदर , class के बाहर  , package के  अंदर या  package के बाहर तक access  किया  जा सकता है।

non-access modifiers :-  जैसे कि static, abstract, synchronized, native, volatile, transient आदि। 

यहां हम  access modifiers  सीखने जा रहे हैं।
    modifiers को  एक table द्वारा  समझते हैं | 

Access Modifiers in Java
Access Modifiers 
Default access modifier :-  Default access modifier का मतलब है कि हम data members, class या methods  जो किसी access modifier के इस्तेमाल से declared  नहीं किए जाते हैं यानी default access modifier केवल उसी package के अंदर ही  access  होते हैं।  default modifier यह  private की तुलना  में ज्यादा  accessed provide करता है। लेकिन यह  protected और public की तुलना में  ज्यादा restrictive  है।
Example of default access modifier
इस उदाहरण में  हमने दो packages pack और  mypack बनाए हैं। हम A class को उसके package के बाहर से access कर रहे हैं क्योंकि A class  public नहीं है |
//save by A.java  
package pack;  
class A{  
  void msg()
{
System.out.println(“java”);
}  
}  
class A और उसके method msg () का scope default  है  इसलिए इसे package के बाहर से access नहीं किया जा सकता है।

 //save by B.java  
package mypack;  
import pack.*;  
class B{  
  public static void main(String args[]){  
   A obj = new A();//Compile Time Error  
   obj.msg();//Compile Time Error  
  }  
}  

Private:-  private access modifier private keyword  का उपयोग करके specified किया जाता है।
private declared  किए गए तरीके या data members केवल उस class के अंदर  ही access कर सकते हैं जिसमें वे  declared  किए जाते हैं।
same package का कोई भी  class इन members तक  access नहीं कर  सकेगा।

Top level Classes  या  interface को private declared नहीं किया जा सकता क्योंकि
private का अर्थ है  केवल  visible class  के अंदर  दिखाई देने वाला।

इसलिए classes  के लिए application के  reference में  modifiers वे केवल nested classes पर लागू होते हैं न कि top level classes  पर |
private modifier का उपयोग  data haiding  के  लिए  भी  किया  जाता  है।

Examples of private access modifier
//Java program to illustrate error while 
//using class from different package with 
//private modifier 
package p1; 

class A 
private void display() 
System.out.println(“GeeksforGeeks”); 

class B 
public static void main(String args[]) 
A obj = new A(); 
//trying to access private method of another class 
obj.display(); 
protected:  protected access modifier को protected keyword का उपयोग करके specifie किया जाता  है।
 protected declare किए गए तरीके या data members एक ही   package  या अलग-अलग package में sub classes के अंदर  accessible हैं।
इस उदाहरण में हम दो  packages p1 और P2 बनाएंगे। p1 में  class A को  public किया गया है  इसे  p2 में  access  करने के लिए।  class A में  method display protected  है  और  class B को class A  से inherited किया  है और  class B की एक object बनाकर इस protected method को फिर access  किया गया है।
Examples of protected access modifier

//Java program to illustrate 
//protected modifier 
package p1; 

//Class A 
public class A 
protected void display() 
System.out.println(“GeeksforGeeks”); 

//Java program to illustrate 
//protected modifier 
package p2; 
import p1.*; //importing all classes in package p1 

//Class B is subclass of A 
class B extends A 
public static void main(String args[]) 
B obj = new B(); 
obj.display(); 
public: public access modifier में  public keyword  का उपयोग करके specified  किया जाता है।
 public access modifier में अन्य सभी  access modifiers का widest scope है।
classes  methds या data members जो public declare किए जाते हैं  वो  program में हर जगह से  accessible हैं। एक public data members के scope पर कोई restriction नहीं है।
Examples of public access modifier
//save by A.java   
package pack;  
public class A{  
public void msg(){System.out.println(“Hello”);}  
}  

//save by B.java  
package mypack;  
import pack.*;  
class B{  
  public static void main(String args[]){  
   A obj = new A();  
   obj.msg();  
  }  
}  
Access Control और  Inheritance  के  rules  | 
  • superclass में public  declare किये  गये  methods  subclass  में  public होनी चाहिए।
  • private declared किए गए  inherited  methods में नहीं होने चाइये हैं  इसलिए उनके लिए कोई  rules नहीं है।
  • superclass में protected declared किये गए methods या तो protected होने चाहिए या subclasses में public होने चाहिए  वे  private नहीं हो सकते।

Leave a Reply

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