Access Modifiers in Java with example by Naren
In this lecture we are discussing: 1)What is Access Modifiers ? Types of access Specifiers 2)How to use with example #1 What is Access Modifiers ? Types of access Specifiers -- Access Modifiers are keywords that determine the visibility and access level of a class, method, or data member. -- There are four types of access specifiers in Java: i) public: A public class, method, or data member is visible to all classes. ii) protected: A protected class, method, or data member can be accessed by classes within the same package, and any subclasses which extend the class. iii) default: A default class, method, or data member is visible only to classes within the same package. iv) private: A private class, method, or data member is only visible to the class it is declared in, and not to any subclasses. #2 package flder1.folder1; // import flder1.folder2.B; --The type flder1.folder2.B is not visible because class is not public import flder1.folder2.C; public class A { public static void main(String []args){ // B obj=new B(); -- we was not making class B as public -- so we get error C obj =new C(); //since, Class C is public so we can use outside the package of folder2 //for class visibility only public is legal modifiers has been used and if you not mention anything by default class is default. // System.out.println(obj.def); -- The field C.def is not visible because we want to access from different package but we have not visibility in current package because access specifier is default // System.out.println(obj.prot); not visible because access specifier is protected -- it is only visible in same package or visible in other package if class is subclass of that class. //protected visible to inherited class of different package also. Child ch =new Child(); // ch.a; -- not visible in anywhere. Since a is visible only in same class because it is private. } } class Child extends C{ private int a=9; public void natureProtected(){ System.out.println(prot); //here we can use protected variable becuase it is visible to inherited class in different package also } } /* step 1: create a folder flder1 Step 2: create two sub folder inside flder1 i) folder1 ii)folder2 step 3: create A.java file in folder1 step 4: create B.java, C.java in folder2 package flder1.folder2; class B { } package flder1.folder2; public class C { int def=5; protected int prot=6; public int pub=7; private int pvt=8; } */ Note : Remember visibility decrease in order public--protected--default(but this keyword not mentioned like public and private)--private
Download
0 formatsNo download links available.