我剛剛發現了這一點,我希望有人知道發生了什麼。命令如下(在臨時目錄中運行此,事先清除一切):Java中的編譯接口
沒有問題:
cat <<EOF> Myface.java
public interface Myface {}
EOF
cat <<EOF> Myclass.java
public class Myclass implements Myface {}
EOF
javac Myface.java
javac Myclass.java
MYCLASS不會編譯:
cat <<EOF> Myface.java
package Mypackage;
public interface Myface {}
EOF
cat <<EOF> Myclass.java
package Mypackage;
public class Myclass implements Myface {}
EOF
javac Myface.java
javac Myclass.java
MYCLASS不會編譯:
cat <<EOF> Myface.java
package Mypackage;
public interface Myface {}
EOF
cat <<EOF> Myclass.java
package Mypackage;
public class Myclass implements Myface {}
EOF
javac Myclass.java
這是怎麼回事?
編輯:所有的命令,運行:
[email protected]:~$ ls
[email protected]:~$ pwd
/home/javatest
[email protected]:~$ cat <<EOF> Myface.java
> public interface Myface {}
> EOF
[email protected]:~$
[email protected]:~$ cat <<EOF> Myclass.java
> public class Myclass implements Myface {}
> EOF
[email protected]:~$
[email protected]:~$ javac Myface.java
[email protected]:~$ javac Myclass.java
[email protected]:~$ ls
Myclass.class Myclass.java Myface.class Myface.java
[email protected]:~$ rm *
[email protected]:~$ cat <<EOF> Myface.java
> package Mypackage;
> public interface Myface {}
> EOF
[email protected]:~$
[email protected]:~$ cat <<EOF> Myclass.java
> package Mypackage;
> public class Myclass implements Myface {}
> EOF
[email protected]:~$
[email protected]:~$ javac Myface.java
[email protected]:~$ javac Myclass.java
Myclass.java:2: cannot find symbol
symbol: class Myface
public class Myclass implements Myface {}
^
1 error
[email protected]:~$ rm *
[email protected]:~$ cat <<EOF> Myface.java
> package Mypackage;
> public interface Myface {}
> EOF
[email protected]:~$
[email protected]:~$ cat <<EOF> Myclass.java
> package Mypackage;
> public class Myclass implements Myface {}
> EOF
[email protected]:~$
[email protected]:~$ javac Myclass.java
Myclass.java:2: cannot find symbol
symbol: class Myface
public class Myclass implements Myface {}
^
1 error
[email protected]:~$
你可以顯示你運行的命令,你運行它們的文件夾以及編譯器輸出的錯誤消息嗎? –
Java/Class文件必須根據它們的包放在子文件夾結構的類路徑中。也許這是這裏的問題。 – Gandalf
@Michael好的,完成了。 –