带包名java文件在cmd里编译和运行
// 在day这个包下的java程序
package day;
public class f {
public static void main(String[] args) {
System.out.println(111);
}
}
必须在day文件夹外运行,编译的话在包内或包外都可以
// 包内编译
javac f.java
//包外编译
javac day/f.java
//甚至可以在包上层路径编译
javac month/day/f.java
//包外运行
java day/f
//包外运行
java day.f
需要注意的是编译时文件路径不可以用 . 只能用 /
总结: 编译java程序时,与包的导入无关,只要通过路径可以找到此java文件即可编译。
运行时只可以根据包名找到包的位置上一层目录,通过包的路径找到编译好的class文件