java学习记录之package

1. 为什么会有包,package

因为可能会出现相同的类名,所以通过 包名.类名 来作 区分

2. 格式

package 包名;

例如

package a.b.c.d.test;

假如一个类有包名,那么他就不能任意存放位置,否则虚拟机无法加载这样的类。

3. 实际的例子

Learn.java

package a.b;

public class Learn {
	public static void main (String args[]) {
		System.out.println("hello!");
	}
};

编译命令

javac Learn.java
会在当前目录生成Learn.class
lydia@lydia:~/sgy/java_learn/package_import_learn$ ls
Learn.class  Learn.java

执行结果

lydia@lydia:~/sgy/java_learn/package_import_learn$ java Learn
错误: 找不到或无法加载主类 Learn

得按照下面的步骤,才能正确执行这个执行程序

  1. 需要有特定的package目录才行
lydia@lydia:~/sgy/java_learn/package_import_learn$ tree -A
.
├── a
│   └── b
│       └── Learn.class
└── Learn.java
  1. 实际执行的命令
java a.b.Learn

另外一种编译的方式,他会直接创建包的目录

javac -d . Learn.java

执行结果

lydia@lydia:~/sgy/java_learn/package_import_learn$ java a.b.Learn
hello!
发布了17 篇原创文章 · 获赞 3 · 访问量 3542

猜你喜欢

转载自blog.csdn.net/sgy1993/article/details/104543643
今日推荐