# Can I import same package twice? Will JVM load the package twice at runtime?

JavaObject Oriented ProgrammingProgramming

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.

## Creating a 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

## Example

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.

## Output

javac –d . Sample.java

If you haven’t mentioned the destination path the package will be created in the current directory.

## Importing a class

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.

## Example

import com.tutorialspoint.mypackage.Sample;
public class Test{
public static void main(String args[]){
Sample obj = new Sample();
obj.demo();
}
}

## Output

This is a method of the sample class

## Importing a class twice

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.

## Example

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();
}
}

## Output

Sample class loaded
This is a method of the sample class
Updated on 02-Aug-2019 11:29:47