A java package is a group of similar types of classes, interfaces and sub-packages. Package in java can be categorized in two form, built-in package and user-defined package. There are many built-in packages such as java, lang, awt, javax, swing, net, io, util, sql etc. 

Advantage of Java Package

  1. Java package is used to categorize the classes and interfaces so that they can be easily maintained.
  2. Java package provides access protection.
  3. Java package removes naming collision.

The package keyword is used to create a package in java.

//save as Simple.java
package mypack;
public class Simple{
public static void main(String args[]){
System.out.println("Welcome to package");
}

There are three ways to access the package from outside the package.

  1. import package.*;
  2. import package.classname;
  3. fully qualified name.

If you use package.* then all the classes and interfaces of this package will be accessible but not subpackages.

The import keyword is used to make the classes and interface of another package accessible to the current package. 

                                     

Subpackage in java

Package inside the package is called the subpackage.

package java.util.Scanner;
class Simple{
public static void main(String args[]){
Scanner scan=new Scanner(System.in);
System.out.println("Enter a number");
int a = scan.nextInt();
System.out.println(“Inputted number is: ”+a);
}