In Java classes and interfaces related to each other are grouped under a package. Package is nothing but a directory storing classes and interfaces of a particular concept. For example, all the classes and interfaces related to input and output operations are stored in java.io package.
You can group required classes and interfaces under one package just by declaring the package at the top of the Class/Interface (file) using the keyword package as −
package com.tutorialspoint.mypackage; public class Sample{ public void demo(){ System.out.println("This is a method of the sample class"); } public static void main(String args[]){ System.out.println("Hello how are you......"); } }
Unlike other programs to compile a program with a package, you need to use the –d option of the javac command specifying the destination path where you need to create the package.
javac –d . Sample.java
If you haven’t mentioned the destination path the package will be created in the current directory.
To access the classes/interfaces that are grouped under a package, you need to add the location of the package in the classpath variable (or make sure the package is in the current directory) and import the class/interface of it using the import keyword.
import com.tutorialspoint.mypackage.Sample; public class Test{ public static void main(String args[]){ Sample obj = new Sample(); obj.demo(); } }
This is a method of the sample class
Yes, you can import a class twice in Java, it doesn’t create any issues but, irrespective of the number of times you import, JVM loads the class only once.
In the following Java program, we are trying to import the Sample class of the com.tutorialspoint.mypackage package only once.
import com.tutorialspoint.mypackage.Sample; import com.tutorialspoint.mypackage.Sample; public class Test{ public static void main(String args[]){ Sample obj = new Sample(); obj.demo(); } }
Sample class loaded This is a method of the sample class