1/8/25, 11:41 PM Java Package - javatpoint
p y
Java public keyword
Java return Keyword
Control Statements
J C t l St t t
next → ← prev
Java Package
A java package is a group of similar types of
1. Java Package
classes, interfaces and sub-packages.
2. Example of package
Package in java can be categorized in two form, 3. Accessing package
built-in package and user-defined package. 1. By import
packagename.*
There are many built-in packages such as java, 2. By import
lang, awt, javax, swing, net, io, util, sql etc. [Link]
3. By fully qualified name
Here, we will have the detailed learning of creating
4. Subpackage
and using user-defined packages.
5. Sending class file to
another directory
6. -classpath switch
7. 4 ways to load the class file
or jar file
8. How to put two public
class in a package
9. Static Import
10. Package class
[Link] 2/20
1/8/25, 11:41 PM Java Package - javatpoint
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.
Simple example of java package
The package keyword is used to create a package in java.
//save as [Link]
package mypack;
public class Simple{
[Link] 3/20
1/8/25, 11:41 PM Java Package - javatpoint
public static void main(String args[]){
[Link]("Welcome to package");
}
}
How to compile java package
If you are not using any IDE, you need to follow the syntax given below:
javac -d directory javafilename
For example
javac -d . [Link]
The -d switch specifies the destination where to put the generated class file. You can use
any directory name like /home (in case of Linux), d:/abc (in case of windows) etc. If you
want to keep the package within the same directory, you can use . (dot).
How to run java package program
You need to use fully qualified name e.g. [Link] etc to run the class.
To Compile: javac -d . [Link]
To Run: java [Link]
Output:Welcome to package
[Link] 4/20
1/8/25, 11:41 PM Java Package - javatpoint
The -d is a switch that tells the compiler where to put the class file i.e. it represents
destination. The . represents the current folder.
How to access package from another package?
There are three ways to access the package from outside the package.
1. import package.*;
2. import [Link];
3. fully qualified name.
1) Using packagename.*
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.
Example of package that import the packagename.*
//save by [Link]
package pack;
public class A{
public void msg(){[Link]("Hello");}
}
//save by [Link]
package mypack;
import pack.*;
class B{
public static void main(String args[]){
A obj = new A();
[Link]();
}
}
Output:Hello
[Link] 5/20
1/8/25, 11:41 PM Java Package - javatpoint
2) Using [Link]
If you import [Link] then only declared class of this package will be
accessible.
Example of package by import [Link]
//save by [Link]
package pack;
public class A{
public void msg(){[Link]("Hello");}
}
//save by [Link]
package mypack;
import pack.A;
class B{
public static void main(String args[]){
A obj = new A();
[Link]();
}
}
Output:Hello
3) Using fully qualified name
If you use fully qualified name then only declared class of this package will be accessible.
Now there is no need to import. But you need to use fully qualified name every time
when you are accessing the class or interface.
Advertisement
[Link] 6/20
1/8/25, 11:41 PM Java Package - javatpoint
India to Dubai
from India
from Rs14,953 Search
India to Malaysia
from India
from Rs5,517 Search
It is generally used when two packages have same class name e.g. [Link] and [Link]
India to Thailand
packages contain Date class.
from India
from Rs10,668 Search
*
Example of package by import fully qualified name
//save by [Link]
package pack;
public class A{
public void msg(){[Link]("Hello");}
}
//save by [Link]
package mypack;
class B{
public static void main(String args[]){
pack.A obj = new pack.A();//using fully qualified name
[Link]();
}
}
Output:Hello
Note: If you import a package, subpackages will not be imported.
If you import a package, all the classes and interface of that package will be imported
excluding the classes and interfaces of the subpackages. Hence, you need to import the
subpackage as well.
[Link] 7/20
1/8/25, 11:41 PM Java Package - javatpoint
Note: Sequence of the program must be package then import
then class.
Subpackage in java
Package inside the package is called the subpackage. It should be created to
categorize the package further.
Advertisement
[Link] 8/20
1/8/25, 11:41 PM Java Package - javatpoint
Let's take an example, Sun Microsystem has definded a package named java that
contains many classes like System, String, Reader, Writer, Socket etc. These classes
represent a particular group e.g. Reader and Writer classes are for Input/Output
India to Dubai
operation, Socket and ServerSocket classes are for networking etc and so on. So, Sun has
subcategorized the java package into subpackages such as lang, net, io etc. and put the
Input/Output related classes in io package, Server and ServerSocket classes in net
packages and so on. from India
from Rs14,953 Search
*
The standard of defining package is [Link] e.g.
[Link] or [Link].
Example of Subpackage
package [Link];
class Simple{
public static void main(String args[]){
[Link]("Hello subpackage");
}
}
To Compile: javac -d . [Link]
To Run: java [Link]
Output:Hello subpackage
How to send the class file to another directory or drive?
There is a scenario, I want to put the class file of [Link] source file in classes folder of c:
drive. For example:
[Link] 9/20
1/8/25, 11:41 PM Java Package - javatpoint
//save as [Link]
package mypack;
public class Simple{
public static void main(String args[]){
[Link]("Welcome to package");
}
}
To Compile:
e:\sources> javac -d c:\classes [Link]
To Run:
[Link] 10/20
1/8/25, 11:41 PM Java Package - javatpoint
To run this program from e:\source directory, you need to set classpath of the
directory where the class file resides.
e:\sources> set classpath=c:\classes;.;
e:\sources> java [Link]
Another way to run this program by -classpath switch of java:
The -classpath switch can be used with javac and java tool.
To run this program from e:\source directory, you can use -classpath switch of java that
tells where to look for class file. For example:
e:\sources> java -classpath c:\classes [Link]
Output:Welcome to package
Ways to load the class files or jar files
There are two ways to load the class files temporary and permanent.
Temporary
By setting the classpath in the command prompt
By -classpath switch
Permanent
By setting the classpath in the environment variables
By creating the jar file, that contains all the class files, and copying the jar
file in the jre/lib/ext folder.
Rule: There can be only one public class in a java source file and it must be
saved by the public class name.
//save as [Link] otherwise Compilte Time Error
class A{}
class B{}
public class C{}
[Link] 11/20
1/8/25, 11:41 PM Java Package - javatpoint
How to put two public classes in a package?
If you want to put two public classes in a package, have two java source files
containing one public class, but keep the package name same. For example:
//save as [Link]
package javatpoint;
public class A{}
//save as [Link]
package javatpoint;
public class B{}
What is static import feature of Java5?
Click Static Import feature of Java5.
What about package class?
Click for Package class
Java Package MCQ
1. Which of the following is true about Java packages?
1. A package is a collection of classes and interfaces.
2. Packages in Java can only contain classes, not interfaces.
3. Packages help resolve naming conflicts by providing a namespace.
4. Both A and C.
Show Answer Workspace
2. What is the correct way to import all classes from a package named myPackage?
1. import myPackage;
2. import myPackage.*;
[Link] 12/20