Mastering Java and Spring Boot - Live Course : https://bit.ly/TeluskoJavaLive
For More Queries WhatsApp or Call on : +919008963671


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

Github repo : https://github.com/navinreddy20/Javacode.git

Java:- https://bit.ly/JavaUdemyTelusko
Spring:- https://bit.ly/SpringUdemyTelusko

More Learning :

Java :- https://bit.ly/3x6rr0N
Python :- https://bit.ly/3GRc7JX
Django :- https://bit.ly/3MmoJK6

JavaScript :- https://bit.ly/3tiAlHo
Node JS :- https://bit.ly/3GT4liq

Rest Api :-https://bit.ly/3MjhZwt
Servlet :- https://bit.ly/3Q7eA7k
Spring Framework :- https://bit.ly/3xi7buh
Design Patterns in Java :- https://bit.ly/3MocXiq
Docker :- https://bit.ly/3xjWzLA

Blockchain Tutorial :- https://bit.ly/3NSbOkc
Corda Tutorial:- https://bit.ly/3thbUKa
Hyperledger Fabric :- https://bit.ly/38RZCRB

NoSQL Tutorial :- https://bit.ly/3aJpRuc
Mysql Tutorial :- https://bit.ly/3thpr4L

Data Structures using Java :- https://bit.ly/3MuJa7S
Git Tutorial :- https://bit.ly/3NXyCPu

Donation:
PayPal Id : navinreddy20
https://www.telusko.com