Package in Java
Package in Java
Package in Java is a mechanism to
encapsulate a group of classes, sub packages and interfaces. Packages are used
for:
- Preventing naming conflicts. For example there can be two classes with name Employee in two packages, college.staff.cse.Employee and college.staff.ee.Employee
- Making searching/locating and usage of classes, interfaces, enumerations and annotations easier
- Providing controlled access: protected and default have package level access control. A protected member is accessible by classes in the same package and its subclasses. A default member (without any access specifier) is accessible by classes in the same package only.
- Packages can be considered as data encapsulation (or data-hiding).
All we need to do is put related classes into packages. After that
we can simply write an import a class from existing packages and use it in our
program. A package is containers of group of related classes where some of the
classes are accessible are exposed and others are kept for internal purpose. We
can reuse existing classes from the packages as many times as we need it in our
program.
How packages work?
Package names and directory structure are
closely related. For example if a package name is college.staff.bsc, then there are three directories, college, staff and bsc such
that bsc is present in staff and staff is present college. Also, the
directory college is accessible through CLASSPATH variable, i.e., path of parent directory
of college is present in CLASSPATH. The idea is to make sure that classes are
easy to locate.
Package naming conventions: Packages are named in reverse order of domain
names, i.e., org.smgc.student.bsc.sem4. For example, in a college, the
recommended convention is college.science.bsc, college. .science.bca,
college.art.bsw, etc.
Adding a class to a Package: We can add more classes to an created package by using
package name at the top of the program and saving it in the package directory.
We need a new java file to define a public class, otherwise
we can add the new class to an existing .java file and recompile
it.
Subpackages: Packages that are inside another package are the subpackages.
These are not imported by default, they have to imported explicitly. Also,
members of a subpackage have no access privileges, i.e., they are considered as
different package for protected and default access specifiers.
Example :
import java.util.*;
util is a subpackage
created inside java package.
Accessing classes inside a package
Consider following two statements:
// import the Vector class from util package.
import java.util.vector;
// import all the classes from util package
import java.util.*;
§ First Statement is used to import Vector class from util package which is
contained inside java.
§ Second statement imports all the classes
from util package.
Built-in
Packages
These packages consist of a large number of classes which are a part of Java API. Some of the commonly used built-in packages are:
- java.lang: Contains language support classes(e.g classed which defines primitive data types, math operations). This package is automatically imported.
- java.io: Contains classed for supporting input / output operations.
- java.util: Contains utility classes which implement data structures like Linked List, Dictionary and support ; for Date / Time operations.
- java.applet: Contains classes for creating Applets.
- java.awt: Contain classes for implementing the components for graphical user interfaces (like button, menus etc).
- java.net: Contain classes for supporting networking operations.
Comments
Post a Comment