Java 编程:类 在同一个包中

Java programming: classes in same packages

我在 java 中写了两个 classes,f1 正在编译但 f2 没有编译并给出错误 f1 symbol not found。

f1 class

package x; 
public class f1 {  
    public void printf1() {  
        System.out.println("First Class"); 
    } 
}

以上class编译无误,

f2 class

package x;
public class f2 {

    public static void main(String[] s) {
        f1 f= new f1();
        f.printf1()
    }
}

如何为这段代码尝试 javac -d 或 javaw。

你应该在这一行的末尾添加一个分号:

f.printf1();

您的主要方法签名正确。字符串数组的名称无关紧要。

您需要将这两个类都保存在目录 x 下。 那么

从命令 line/terminal

转到目录 'x'

cd x

然后

javac f2.java

所以在你的情况下,f1 和 f2 最好放在同一个目录中,因为它们属于同一个包。

f2 包括主要方法。所以要执行这个程序,你需要编译 f2.

如果你这样做:

javac f2.java

这会产生错误 f1 symbol not found,因为 f2 引用 f1,并且 f1.class 不在类路径中。

所以你可以这样做:

javac f2.java f1.java
java f1