Access types in java

Access types in java

  • Introduction to Java
  • The complete History of Java Programming Language
  • C++ vs Java vs Python
  • How to Download and Install Java for 64 bit machine?
  • Setting up the environment in Java
  • How to Download and Install Eclipse on Windows?
  • JDK in Java
  • How JVM Works – JVM Architecture?
  • Differences between JDK, JRE and JVM
  • Just In Time Compiler
  • Difference between JIT and JVM in Java
  • Difference between Byte Code and Machine Code
  • How is Java platform independent?
  • Decision Making in Java (if, if-else, switch, break, continue, jump)
  • Java if statement with Examples
  • Java if-else
  • Java if-else-if ladder with Examples
  • Loops in Java
  • For Loop in Java
  • Java while loop with Examples
  • Java do-while loop with Examples
  • For-each loop in Java
  • Continue Statement in Java
  • Break statement in Java
  • Usage of Break keyword in Java
  • return keyword in Java
  • Object Oriented Programming (OOPs) Concept in Java
  • Why Java is not a purely Object-Oriented Language?
  • Classes and Objects in Java
  • Naming Conventions in Java
  • Java Methods
  • Access Modifiers in Java
  • Java Constructors
  • Four Main Object Oriented Programming Concepts of Java
  • Inheritance in Java
  • Abstraction in Java
  • Encapsulation in Java
  • Polymorphism in Java
  • Interfaces in Java
  • ‘this’ reference in Java

Источник

Access types in java

1) Private

The private access modifier is accessible only within the class.

Simple example of private access modifier

In this example, we have created two classes A and Simple. A class contains private data member and private method. We are accessing these private members from outside the class, so there is a compile-time error.

Role of Private Constructor

If you make any class constructor private, you cannot create the instance of that class from outside the class. For example:

Note: A class cannot be private or protected except nested class.

2) Default

If you don’t use any modifier, it is treated as default by default. The default modifier is accessible only within package. It cannot be accessed from outside the package. It provides more accessibility than private. But, it is more restrictive than protected, and public.

Example of default access modifier

In this example, we have created two packages pack and mypack. We are accessing the A class from outside its package, since A class is not public, so it cannot be accessed from outside the package.

In the above example, the scope of class A and its method msg() is default so it cannot be accessed from outside the package.

3) Protected

The protected access modifier is accessible within package and outside the package but through inheritance only.

The protected access modifier can be applied on the data member, method and constructor. It can’t be applied on the class.

It provides more accessibility than the default modifer.

Example of protected access modifier

Читайте также:  Css градиент одним цветом

In this example, we have created the two packages pack and mypack. The A class of pack package is public, so can be accessed from outside the package. But msg method of this package is declared as protected, so it can be accessed from outside the class only through inheritance.

4) Public

The public access modifier is accessible everywhere. It has the widest scope among all other modifiers.

Example of public access modifier

Java Access Modifiers with Method Overriding

If you are overriding any method, overridden method (i.e. declared in subclass) must not be more restrictive.

The default modifier is more restrictive than protected. That is why, there is a compile-time error.

Youtube

For Videos Join Our Youtube Channel: Join Now

Feedback

Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials

Splunk tutorial

SPSS tutorial

Swagger tutorial

T-SQL tutorial

Tumblr tutorial

React tutorial

Regex tutorial

Reinforcement learning tutorial

R Programming tutorial

RxJS tutorial

React Native tutorial

Python Design Patterns

Python Pillow tutorial

Python Turtle tutorial

Keras tutorial

Preparation

Aptitude

Logical Reasoning

Verbal Ability

Company Interview Questions

Artificial Intelligence

AWS Tutorial

Selenium tutorial

Cloud Computing

Hadoop tutorial

ReactJS Tutorial

Data Science Tutorial

Angular 7 Tutorial

Blockchain Tutorial

Git Tutorial

Machine Learning Tutorial

DevOps Tutorial

B.Tech / MCA

DBMS tutorial

Data Structures tutorial

DAA tutorial

Operating System

Computer Network tutorial

Compiler Design tutorial

Computer Organization and Architecture

Discrete Mathematics Tutorial

Ethical Hacking

Computer Graphics Tutorial

Software Engineering

html tutorial

Cyber Security tutorial

Automata Tutorial

C Language tutorial

C++ tutorial

Java tutorial

.Net Framework tutorial

Python tutorial

List of Programs

Control Systems tutorial

Data Mining Tutorial

Data Warehouse Tutorial

Javatpoint Services

JavaTpoint offers too many high quality services. Mail us on h[email protected], to get more information about given services.

  • Website Designing
  • Website Development
  • Java Development
  • PHP Development
  • WordPress
  • Graphic Designing
  • Logo
  • Digital Marketing
  • On Page and Off Page SEO
  • PPC
  • Content Development
  • Corporate Training
  • Classroom and Online Training
  • Data Entry

Training For College Campus

JavaTpoint offers college campus training on Core Java, Advance Java, .Net, Android, Hadoop, PHP, Web Technology and Python. Please mail your requirement at [email protected].
Duration: 1 week to 2 week

Like/Subscribe us for latest updates or newsletter RSS Feed Subscribe to Get Email Alerts Facebook Page Twitter Page YouTube Blog Page

Источник

Access Modifiers in Java – 2023

Access modifiers are object-oriented programming that is used to set the accessibility of classes, constructors, methods, and other members of Java.
Using the access modifiers we can set the scope or accessibility of these classes, methods, constructors, and other members.

JAVA has two types of modifiers: access modifiers and non-access modifiers.

What are Access Modifiers?

Access modifiers are keywords that can be used to control the visibility of fields, methods, and constructors in a class. The four access modifiers in Java are public, protected, default, and private.

Four Types of Access Modifiers

  • Private: We can access the private modifier only within the same class and not from outside the class.
  • Default: We can access the default modifier only within the same package and not from outside the package. And also, if we do not specify any access modifier it will automatically consider it as default.
  • Protected: We can access the protected modifier within the same package and also from outside the package with the help of the child class. If we do not make the child class, we cannot access it from outside the package. So inheritance is a must for accessing it from outside the package.
  • Public: We can access the public modifier from anywhere. We can access public modifiers from within the class as well as from outside the class and also within the package and outside the package.

For a refresher, check out this free course on Java programming. On completion, you will also earn a certificate which is sure to put you ahead in the competitive space.

Must Learn Java Concepts

Let us see which all members of Java can be assigned with the access modifiers:

Members of JAVA Private Default Protected Public
Class No Yes No Yes
Variable Yes Yes Yes Yes
Method Yes Yes Yes Yes
Constructor Yes Yes Yes Yes
interface No Yes No Yes
Initializer Block NOT ALLOWED
Читайте также:  Html кодовая страница 1251

Now let us understand the scope of these access modifiers with the help of a table:

Accessibility Private Default Protected Public
Same Package Same Class Yes Yes Yes Yes
Without Inheritance No Yes Yes Yes
With Inheritance No Yes Yes Yes
Different Package Without Inheritance No No No Yes
With Inheritance No No Yes Yes

Let’s understand with more details:

Private Access Modifier

  • The private access modifier is specified when any member of a class is prefixed with the private keyword. In comparison with the other access modifiers, this is the most restricted access modifier.
  • When the methods or data members are prefixed with a private access modifier, the visibility of these methods and data members are restricted so, they can be accessed only within the same class where they have been declared, they will not be visible to the outside world.
  • If we have another class from the same package still, we will not be able to access these methods or data members. So usually, we keep the class variables and methods as private, which are intended to be used inside the same class where declared.

Let us consider an example where we will consider two classes A1 and A2 within the same package p1. We will declare a variable and a method as private in class A1 and then try to access these methods and variables from class A2.

So here we will Compile Time Error.

Let us see for a private constructor:

If we make any class constructor private, we cannot create the instance of that class from outside the class, and hence, from here we can conclude that the private access modifier can be accessed only within the same class and not from outside the class.

Default Access Modifier

  • It is not a keyword. Any Java members such as class or methods or data members when not specified with any access modifier they are by default considered as default access modifiers. These methods or data members are only accessible within the same package and they cannot be accessed from outside the package. It provides more visibility than a private access modifier. But this access modifier is more restricted than protected and public access modifiers.

Let us consider an example for the default access modifier.

Here, we have two different packages p1 and p2. In the p1 package, we have class A1 where we declared a default variable and a default method. Now we are trying to access this variable and method from outside the package that is from package p2 which has a class A2.

When we try to access these variables and methods from outside the package we get a Compile time error.

Hence, we conclude that the default access modifier members can be accessed only within the same package and cannot be accessed from outside the package. And they have more visibility than private access modifier but is more restricted than protected and public access modifiers.

Protected Access Modifier

  • It is a keyword. This access modifier is used to access the methods or data members of a class within the same package as well as outside the package but only through inheritance. The protected access modifier has more accessibility than private and defaults access modifiers. But it has less visibility than the public access modifier.
Читайте также:  Java jre which version

Let us consider an example for a protected access modifier.

Here we have two packages p1 and p2. In package p1 we have class A1 where we have declared a protected test method. In package p2 we are inheriting the members of class A1 inside class A2 with help of extending keywords and creating a relationship between the two classes. We can also say that class A1 is the parent class or the superclass and class A2 is the child class or the subclass respectively.

When we inherit the members of class A1 inside class A2, with the help of a protected access modifier we can access the members of class A1 of package p1 from class A2 of the different package p2.

So here we get the output as Hi I’m from a protected method.

Hence, we can conclude that the methods, variables, and data members of a class prefixed with a protected access modifier can be accessed within the same package as well as can be accessed from outside the package but only with the help of inheritance.

Public Access Modifier

It is a keyword. If a class member like variable, method, or data members are prefixed with a public access modifier, then they can be accessed from anywhere inside the program. That is, they can be accessed within the same class as well as from outside the different classes.

It also includes access within the same package and also from outside the package. The members like variables, methods, and other data members can be accessed globally.

Using public access modifiers we can provide access to the members most simply. There are no restrictions on public access modifier members. Hence, it has the widest accessibility or visibility scope as compared to the rest of the access modifiers.

Let us now consider an example of public access modifier.

Here in this example, we have two different packages p1 and p2. In p1 we have a class a1 where we have declared a variable and a method prefixed public keyword. And in the p2 package, we have a class A2 from where we are trying to access the members of class A1 without inheritance.

Here we get the output as 10 and Hi I’m from the public method.

So from the above example, we can conclude that public access modifier members can be accessed from anywhere, within the same class as well as from outside the class. And also can be accessed within the same package and also from outside a package.

NOTE: If any other developer is using your class, then try to use the most restricted access modifier. And also try to use a private access modifier, wherever necessary.

An overall accessibility:

JAVA Access Modifiers with Method Overriding

When overriding a method, the method which is overridden should not be restrictive.

For example:

In the above example, the test method is been overridden in class A2. But the subclass method should have the same visibility or more visibility than the superclass method. Since the subclass method has less scope than the superclass method, we get a compile-time error.

Great Learning’s Blog covers the latest developments and innovations in technology that can be leveraged to build rewarding careers. You’ll find career guides, tech tutorials and industry news to keep yourself updated with the fast-changing world of tech and business.

Источник

Оцените статью