目录如上图,当前目录下,b是文件夹, a是文件夹.
B.java 源码如下:
package b; import a.*; public class B{ public static void main(String[] args) { A a = new A(); a.fun(); } }
A.java 源码如下:
package a; public class A{ public void fun(){ System.out.println("Aa"); } }
那么当我在当前目录下
javac b/B.java 之后,如何运行B.class?
答:java b.B
解析和想法:java中package的一个作用是命名机制,在看见一个类的时候,一定要知道,这个类的名字其实是加上了包名。
也就是说,B的名字其实叫b.B,而不是B。
当java b.B之后,package的另一个作用就出来了,那就是也规范了目录,就是说,b.B这个类一定在当前目录下的b文件夹里。
好了,package的两个机制已经清楚了。
一,命名。
二,规范目录树。