
## 🔹 情况 1：同一个包里的多个.java文件

如果两个类在同一个包（或者没写 `package`，都在默认包），
只要把它们放在同一个目录下，直接编译就能互相使用。

例子：

📂 目录结构：

```
HelloWorld.java
Utils.java
```

**HelloWorld.java**

```java
public class HelloWorld {
    public static void main(String[] args) {
        Utils.sayHi();
    }
}
```

**Utils.java**

```java
public class Utils {
    public static void sayHi() {
        System.out.println("Hello from Utils!");
    }
}
```

**编译运行：**

```bash
javac HelloWorld.java Utils.java
java HelloWorld
```

**输出：**

```
Hello from Utils!
```

---

## 🔹 情况 2：不同包的类

如果你要用别的包里的类，需要用 import

**目录结构：**

```
src/
 ├─ app/
 │   └─ HelloWorld.java
 └─ util/
     └─ Utils.java
```

**util/Utils.java**

```java
package util;

public class Utils {
    public static void sayHi() {
        System.out.println("Hello from util.Utils!");
    }
}
```

**app/HelloWorld.java**

```java
package app;

import util.Utils;   // 导入 util 包里的 Utils 类

public class HelloWorld {
    public static void main(String[] args) {
        Utils.sayHi();
    }
}
```

**编译：**

```bash
javac src/util/Utils.java src/app/HelloWorld.java -d out
```

**运行：**

```bash
java -cp out app.HelloWorld
```

---

## 🔹 总结

1. **同目录、同包**：直接用，不需要 `import`。
2. **不同目录、不同包**：必须用 `package` 和 `import`，再用 `-d` 编译指定输出目录。

---

