Mirroring of packages by directories:
Java packages are mapped to directories on the file system.
Three ways for the Java Runtime to find packages:
Current working directory: The runtime system uses the working directory as a starting point. If the package is in a subdirectory of the current directory, it will be found.
CLASSPATH variable: You can configure the CLASSPATH environment variable to include the package path.
-classpath option: Use the -classpath options with the java and javac commands to specify the class path when compiling and running the program.
Package Example:
package mypack;
For the program to find the mypack package, one of the following conditions must be true:
The program is run from a directory above mypack.
CLASSPATH includes the path of mypack.
The -classpath option is used to specify the path of mypack.
Recommendation for organizing directories:
Keep all .java and .class files related to the package in the directory corresponding to the package.
Compile the files from the directory above the package.
Example Code and Execution
Directory Structure:
src/ mypack/ MyClass.java Main.java
package mypack; public class MyClass { public void displayMessage() { System.out.println("Pacote mypack encontrado!"); } }
import mypack.MyClass; // Importando a classe do pacote mypack public class Main { public static void main(String[] args) { MyClass myClass = new MyClass(); // Criando uma instância de MyClass myClass.displayMessage(); // Chamando o método } }
Compilation and Execution
javac mypack/MyClass.java Main.java
java Main
or
java -classpath . Main
Explanation:
Current Working Directory: If the current directory is above mypack, the package will be found.
CLASSPATH: Can be configured to include the mypack directory.
-classpath option: Can be used to indicate the path of mypack during execution.
Program output:
Pacote mypack encontrado!
Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.
Copyright© 2022 湘ICP备2022001581号-3