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
我在 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