Categories: Java

Packages in Java

In Java, a package is a container for a collection of classes, sub-packages, and interfaces. The package keyword is used to create a package in java.

Packages are used for the following purposes:

  • Keeping naming conflicts at bay. For example, in two packages, college.staff.cse.Employee and college.staff.ee.Employee, there could be two classes named Employee.
  • Making it easier to search for, locate, and use classes, interfaces, enumerations, and annotations
  • Controlling access: package-level access control is available in both protected and default modes. Classes in the same package and its subclasses can access a protected member. Only classes in the same package have access to a default member (which has no access specifier).
  • Packages are a type of data encapsulation (or data-hiding).
Java package example:
//save as Simple.java  
package mypack;  
public class Simple{  
 public static void main(String args[]){  
    System.out.println("Welcome to Coderzpy package");  
   }  
}  

What is the procedure for compiling a Java package?
If you are not using an IDE, you must use the following syntax:

javac -d directory javafilename

As an example,

javac -d . Simple. java

The -d switch indicates where the created class file should be saved. You can use any directory name, such as /home (in Linux), d:/abc (in Windows), and so on. You can use it if you wish to keep the package in the same directory (dot).

To run the java package program:

To Compile: javac -d . Simple.java

To Run: java mypack.Simple

Output:

Welcome to Coderzpy package
Accessing a package from another:


There are three ways to get into the package from the outside.

  • import package.*;
  • import package.classname;
  • fully qualified name.
Example: using import package.*;
//save by A.java  
package pack;  
public class A{  
  public void msg(){System.out.println("Hello Coderzpy");}  
}  
//save by B.java  
package mypack;  
import pack.*;  
  
class B{  
  public static void main(String args[]){  
   A obj = new A();  
   obj.msg();  
  }  
}  
Output:
Hello Coderzpy
Example: using import package.classname;
//save by A.java  
  
package pack;  
public class A{  
  public void msg(){System.out.println("Hello Coderzpy");}  
}  
//save by B.java  
package mypack;  
import pack.A;  
  
class B{  
  public static void main(String args[]){  
   A obj = new A();  
   obj.msg();  
  }  
}  
Output:
Hello Coderzpy
Example: using a fully qualified name.
//save by A.java  
package pack;  
public class A{  
  public void msg(){System.out.println("Hello Coderzpy");}  
}  
//save by B.java  
package mypack;  
class B{  
  public static void main(String args[]){  
   pack.A obj = new pack.A();//using fully qualified name  
   obj.msg();  
  }  
}  
Output:
Hello Coderzpy
Types of Packages:
1) Built-in Packages:

These packages contain a huge number of classes that are included in the Java API. The following are some of the most often used built-in packages:

  • java.lang: This package contains language-specific classes (e.g classed which defines primitive data types, and math operations). This package will be imported automatically.
  • java.io: This package contains classes that handle input and output operations.
  • java.util: This package contains utility classes that provide data structures such as Linked Lists, Dictionary, and Date/Time operations.
  • java.applet: This package contains Applet-related classes.
  • java.awt: Contains classes for implementing graphical user interface components (like buttons, menus, etc).
  • java.net: This package contains classes that help with networking.
2) User-defined packages:

These are the packages that the user has defined. Refer to the above-given examples with the package pack and it’s class A.

Note: also read about the instanceof Operator in Java

Follow Me

If you like my post please follow me to read my latest post on programming and technology.

https://www.instagram.com/coderz.py/

https://www.facebook.com/coderz.py

Share
Published by
Rabecca Fatima

Recent Posts

Generate Parenthesis | Intuition + Code | Recursion Tree | Backtracking | Java

Problem Statement: Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. Example…

3 months ago

Square Root of Integer

Given an integer A. Compute and return the square root of A. If A is…

1 year ago

Build Array From Permutation

Given a zero-based permutation nums (0-indexed), build an array ans of the same length where…

1 year ago

DSA: Heap

A heap is a specialized tree-based data structure that satisfies the heap property. It is…

2 years ago

DSA: Trie

What is a Trie in DSA? A trie, often known as a prefix tree, is…

2 years ago

Trees: Lowest Common Ancestor

What is the Lowest Common Ancestor? In a tree, the lowest common ancestor (LCA) of…

2 years ago