Java: Information Hiding

Posted June 13, 2006 by yoperman in Java programming

Information hiding is a key feature of Java. When declaring a variable or a method, it can be one of four types: private, protected, public, or default.


To specify the type, use one of the three keywords or none at all.

Consider the following examples:

// Default
int i = 0;

// public
public int i = 0;

Public: When you declare a variable public, it means that it can be accessed anywhere in the program. If you inherit from that class, you would have access to all of the public variables.

Private: When a variable is private, it cannot be seen anywhere except in the class in which it is instantiated. If you use a class, you will not be able to see any private data.

Protected: If a variable is protected, you only have package access. (This is useful when developing libs.) That means that you will only see the variable in the package in which it is instantiated and all its subclasses.

Default: Default package access is achieved when there is no specifier (private, public, or protected). Default package access means that the variable is available within the package in which it is created but not in the package subclasses. Basically, you can think of it as a private package.

When creating variables within a method, you can only specify one keyword (final). You cannot create public, private, protected, or even default variables. When you create an Object within a method, it is only available within the method in which it is created.

If you have any questions e-mail me at [email protected]

– Marin

The Conversation

Follow the reactions below and share your own thoughts.