Skip to content

PRO TIP Block youtube.com at the DNS level — Pi-hole, NextDNS or your hosts file — but allow youtube-nocookie.com and i.ytimg.com. These tutorials keep playing; the rabbit hole does not.

Learning without distractions

#54 Access Modifiers in Java

272.8K views on YouTube

Check out our courses:

Agentic AI Engineering with Python : https://go.telusko.com/agentic-ai-python
Coupon: TELUSKO10 (10% Discount)

Master Java Spring Development : https://go.telusko.com/learn-master
Coupon: TELUSKO10 (10% Discount)

For More Queries WhatsApp or Call on : +919008963671

website : https://telusko.com/

Udemy Courses:

Java Spring:- https://go.telusko.com/Udemyjavaspring
Java:- https://go.telusko.com/udemyteluskojava
Spring: https://go.telusko.com/udemyteluskospring
Java For Programmers:- https://go.telusko.com/javaProgrammers
Python : https://go.telusko.com/udemyteluskopython
Git : https://go.telusko.com/udemyteluskogit
Docker : https://go.telusko.com/udemyteluskodocker

Instagram : https://www.instagram.com/navinreddyofficial/
Linkedin : https://in.linkedin.com/in/navinreddy20
WhatsApp : https://go.telusko.com/whatsapp
Discord : https://discord.gg/D8hWe9BqfF

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

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