Java编程:相同包中的类

时间:2018-04-14 18:34:11

标签: java javac

我在java中编写了两个类,f1正在编译但是f2没有编译并且没有找到错误f1符号。

f1 class

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

上面的类正在编译而没有错误,

f2 class

package x;
public class f2 {

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

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

3 个答案:

答案 0 :(得分:0)

您应该在此行的末尾添加分号:

f.printf1();

您的主要方法签名是正确的。 String数组的名称无关紧要。

答案 1 :(得分:0)

您需要将这两个类保留在目录x下。 然后

转到目录' x'从命令行/终端

cd x

然后再做

javac f2.java

答案 2 :(得分:0)

所以在这种情况下,理想情况下f1和f2应该放在同一个目录中,因为它们属于同一个包。

f2包括主要方法。因此,要执行此程序,您需要编译f2。

如果你这样做:

javac f2.java

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

所以你可以这样做:

javac f2.java f1.java
java f1