Access Specifiers In Java

Definition :

- Java Access Specifiers (also known as Visibility Specifiers ) regulate access to classes, fields and methods in Java.These Specifiers determine whether a field or method in a class, can be used or invoked by another method in another class or sub-class. Access Specifiers can be used to restrict access. Access Specifiers are an integral part of object-oriented programming.

Types Of Access Specifiers :

In java we have four Access Specifiers and they are listed below.

1. public
2. private
3. protected
4. default(no specifier)

We look at these Access Specifiers in more detail.



public specifiers :

Public Specifiers achieves the highest level of accessibility. Classes, methods, and fields declared as public can be accessed from any class in the Java program, whether these classes are in the same package or in another package.

Example :
public class Demo {  // public class
public x, y, size;   // public instance variables
}

private specifiers :

Private Specifiers achieves the lowest level of accessibility.private methods and fields can only be accessed within the same class to which the methods and fields belong. private methods and fields are not visible within subclasses and are not inherited by subclasses. So, the private access specifier is opposite to the public access specifier. Using Private Specifier we can achieve encapsulation and hide data from the outside world.

Example :
public class Demo {   // public class
private double x, y;   // private (encapsulated) instance variables

public set(int x, int y) {  // setting values of private fields
this.x = x;
this.y = y;
}

public get() {  // setting values of private fields
return Point(x, y);
}
}

protected specifiers :

Methods and fields declared as protected can only be accessed by the subclasses in other package or any class within the package of the protected members' class. The protected access specifier cannot be applied to class and interfaces.

default(no specifier):

When you don't set access specifier for the element, it will follow the default accessibility level. There is no default specifier keyword. Classes, variables, and methods can be default accessed.Using default specifier we can access class, method, or field which belongs to same package,but not from outside this package.

Example :
class Demo
{
int i; (Default)
}

Real Time Example :



This are the Access Specifier in java and we will learn in detail about these Access Specifier in future chapters.

53 comments:

Unknown said...

awesome............

Unknown said...

abba abbba em septiri em septiri very nice explanation

Unknown said...

nice example for access specifiers

Unknown said...

awesome , thanks

Anonymous said...

Awesome explanation with diagram. Thanks

kmaruzzz said...

so nice.... thanx

Anonymous said...

nice example nd good discription........

Unknown said...

nice example and concept of access specifier "i like this concept"

Hiren Patel said...

Awesome... Thank You...

kedar%>> said...

Clean, clear, precise.

Unknown said...

superrrrr

Unknown said...

Can we say reception as protected and hall as default.

Unknown said...

nice example and concept of access specifier "i like this concept"

pazhaniraja said...

Simple Answer Awesome!!!!!!!!!!!!!!!

karthik golagani said...

master at work

Unknown said...

awsum

Anonymous said...

ayyeeeee............

Unknown said...

is it possible make a class as private???

Unknown said...

every people can understand this eamples

Unknown said...

nice explanation

Unknown said...

nice explanation

yogesh said...

nice..

Unknown said...

AWESOME ONE.............................

Unknown said...

nice explanation and easy to understand

Unknown said...

Very useful thanks 🙂

Anonymous said...

fantastics, explanation

Unknown said...

Thanks a lot!!!!!!!!! But I have a doubt. Isn't the fourth access specifier "friendly" and isn't the default access specifier "public"????

Unknown said...

Good explanation

Deva said...

There is no concept of specifiers in java all are considered as access modifiers....

To Check the same give protected to a class name and the ide will show you private modifier is not allowed on top level classes........

Unknown said...

Nice Thanks

Mani Ziva said...

very useful.. thank u...

alumini said...

Useful.. Contents

Rahul said...

Great explanation.

Unknown said...

nyc expalination

Unknown said...

thank U

Unknown said...

👍👌

Unknown said...

gud

Anonymous said...

nice explaination,
thank you so much

Unknown said...

Nice...good example..easy to understand

Unknown said...

Nice explanation...good example

Unknown said...

😁😁tqzz fr undrstnd wid d bst exzmpl

Unknown said...

Helped in exam a lot good explanation got full marks by coping it

Unknown said...

Very easy explanation....all thanks to you.
I too like your example

biradar raviraj said...

brilliant example and explaination

Unknown said...

Right

Unknown said...

Can u explain the diagram please.I am not able to understand

Unknown said...

Can u explain the diagram.I am not able to understand

Anonymous said...

Thaaliya thaaliya

hitesh kumar said...

Thanks for sharing this Access Modifiers in Java

hitesh kumar said...

Thanks for sharing this Articl

Anonymous said...

Murali chavadi:nice but improve explanation with examples that's helps better to understand

Unknown said...

Good Explaination

Unknown said...

It's an awesome explaination

Post a Comment