Classes, Variables, Methods, Access කරන්න දෙන Security(Modifications) එක අනුව Access කිරීමේ හා නොකිරීමේ හැකියාව තීරනේ වේ.

Access Modifiers Types 4 ක් ඇත.
  1. Private
  2. Default
  3. Protected
  4. Public
 
  • Private Access Modifier
Private Access Modifier ප්‍රවේශ විය හැක්කේ Class තුළ පමණි.
 
Example :- මෙම උදාහරණයේ දී අපි A සහ ​​Simple Class දෙකක් නිර්මාණය කර ඇත්තෙමු. Class එකක Private Data Member සහ Private Method අඩංගු වේ. අපි මෙම Private Member Class එකෙන් පිටත සිට Access වෙමු, එබැවින් Compile Time Error ඇත.

  •  Default Access Modifier
ඔබ කිසිදු Modifier එකක් භාවිතා නොකරන්නේ නම්, එය Default by-Default Error ලෙස සලකනු ලැබේ. Default හට Modifiers තුලට ප්‍රවේශ විය හැක්කේ පැකේජය තුළ පමණි
 
Example :- මෙම උදාහරණයේ දී, අපි Package දෙකක් සහ mypack නිර්මාණය කර ඇත්තෙමු. අපි A class හට එහි පැකේජයෙන් පිටත සිට ප්‍රවේශ වෙමු, Class public නොවන බැවින් එය පැකේජයෙන් පිටත සිට ප්‍රවේශ විය නොහැක.

//save by A.java
package pack;
class A{
 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();//Compile Time Error
  obj.msg();//Compile Time Error
 }
}

ඉහත උදාහරණයේ දී, A Class Scope එක සහ එහි Method msg() Default බැවින් Package පිටත සිට ප්‍රවේශ විය නොහැක.

  • Protected Access Modifier
Protected Access Modifiers පැකේජය තුළ සහ පැකේජයෙන් පිටත ප්‍රවේශ විය හැකි නමුත් Inheritance හරහා පමණි.Protected Access Modifiers Data Members, Methods සහ Constructors මත යෙදිය හැකිය. එය Class එකට යෙදිය නොහැක.
 
Example :- මෙම උදාහරණයේ දී, අපි Package දෙක සහ mypack නිර්මාණය කර ඇත්තෙමු. Pack Package තුල A class Public බැවින් පැකේජයෙන් පිටත සිට ප්‍රවේශ විය හැකිය. නමුත් මෙම පැකේජයේ msg Method Protected යැයි Declare කර ඇති බැවින් Class එකට පිටතින් Access විය හැක්කේ Inheritance හරහා පමණි.
 
//save by A.java
package pack;
public class A{
 protected void msg(){
 System.out.println("Hello");
 }
}

//save by B.java
package mypack;
import pack.*;
class B extends A{
 public static void main(String args[]){
  B obj = new B();
  obj.msg();
 }
}
Output :
Hello
 
  • Public Access Modifier
Public Access Modifiers සෑම තැනකටම access විය හැකිය. අනෙක් සියලුම Modifiers අතර පුළුල්ම විෂය පථය(scope) එයට ඇත.

Example :- 

//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();
 }
}
Output :
Hello

Copyright © 2022 All Right Reseved