आपकी ऑफलाइन सहायता

BACK
49

सी प्रोग्रामिंग

149

पाइथन प्रोग्रामिंग

49

सी प्लस प्लस

99

जावा प्रोग्रामिंग

149

जावास्क्रिप्ट

49

एंगुलर जे.एस.

69

पी.एच.पी.
माय एस.क्यू.एल.

99

एस.क्यू.एल.

Free

एच.टी.एम.एल.

99

सी.एस.एस.

149

आर प्रोग्रामिंग

39

जे.एस.पी.





डाउनलोड पी.डी.एफ. ई-बुक्स
Java - Access Modifiers

Access Modifiers; Classes, Data members, Methods और Constrctutor के accessbility के लिए इस्तेमाल किया जाता है |

Access Modifiers चार प्रकार के होते है |

  1. default Access Modifier
  2. private Access Modifier
  3. public Access Modifier
  4. protected Access Modifier

1. default Access Modifier

अगर कोई Modifier नहीं दिया जाता तो, bydefault default दिया जाता है |

default Modifier सिर्फ package के अन्दर ही accessible होता है |

Program में देखे तो दो packages बनाये गए है | class A को किसी package से access किया जाता है | लेकिन default Modifier होने के कारण ये access नहीं होता |

//A.java

package pack1;

class A{
	void disp(){
	System.out.println("class A");
	}
}
//B.java

package pack2;
import pack1.*;  
  
class B{  
	public static void main(String args[]){  
	A a = new A();  
	a.disp();  
  }  
}
Output :
C:\Program Files\Java\jdk1.8.0_111\bin>javac -d . A.java

C:\Program Files\Java\jdk1.8.0_111\bin>javac -d . B.java
B.java:6: error: A is not public in pack1; cannot be accessed from outside package
        A a = new A();
        ^
B.java:6: error: A is not public in pack1; cannot be accessed from outside package
        A a = new A();
                  ^
2 errors

2. private Access Modifier

private Access Modifier ये सिर्फ class के अन्दर accessible होते है |

Program में देखे तो parent class में a और b नाम के दो instance variables लिए है | लेकिन a variable; private है | ये variable सिर्फ अपने class के अन्दर ही accessible होते है | Program में b variable दुसरे Child class से access हो रहा है, लेकिन a variable access नहीं हो रहा |

Source Code :
class Parent{
	
	private int a = 5;
	int b = 10;
}
class Child extends Parent{
	
	void disp(){
	System.out.println("Value of a : " + a);
	System.out.println("Value of b : " + b);
}
	public static void main(String args[]){
		Child c = new Child();
		c.disp();
	}
}
Output :
Child.java:9: error: a has private access in Parent
        System.out.println("Value of a : " + a);

3. public Access Modifier

public Access Modifier से कहा पर भी access किया जा सकता है |

//A.java

package pack1;

public class A{
	public void disp(){
	System.out.println("class A");
	}
}
//B.java

package pack2;
import pack1.*;  
  
class B{  
	public static void main(String args[]){
	A a = new A();  
	a.disp();  
  }  
}
Output :
C:\Program Files\Java\jdk1.8.0_111\bin>javac -d . A.java

C:\Program Files\Java\jdk1.8.0_111\bin>javac -d . B.java

C:\Program Files\Java\jdk1.8.0_111\bin>java pack2.B
class A

4. protected Access Modifier

ये सिर्फ अपने package के अन्दर और अपने sub-class पर accessible होते है |

Source Code :
class Parent{
	
	int a = 5;
	int b = 10;
	protected void disp(){
	System.out.println("Value of a : " + a);
	System.out.println("Value of b : " + b);
	}
}
class Child extends Parent{
	
	public static void main(String args[]){
		Child c = new Child();
		c.disp();
	}
}
Output :
Value of a : 5
Value of b : 10

Accessing protected method Outside Package

//A.java

package pack1;
  
public class A{  
	protected void disp(){
	
		System.out.println("class A");
	}  
}  
//B.java

package pack2;  
import pack1.*;  
  
class B extends A{  
	public static void main(String args[]){  
	B b = new B();  
	b.disp();  
  }  
} 
Output :
C:\Program Files\Java\jdk1.8.0_111\bin>javac -d . A.java

C:\Program Files\Java\jdk1.8.0_111\bin>javac -d . B.java

C:\Program Files\Java\jdk1.8.0_111\bin>java pack2.B
class A