0
我正在從書中學習Java,並在關於訪問控制的章節中學習。練習要求我在包中創建一個類,然後在包之外創建該類的一個實例。我在創建java包並導入它(初學者)時做了什麼錯誤?
我的文件全部都位於一個文件夾中創建: 用戶/ MYNAME /桌面/ JAVA/AccessControl的,我在Mac上,如果該事項
我創建了一個文件Person.java與驗證碼:
package net.baumli.a;
public class Person {
void welcome() {
System.out.println("A new person has entered the room, welcome.");
}
}
我沒有域名,所以我只是用net.mylastname和隨機創建的軟件包名稱。
然後,我創建的文件AcTest.java
import net.baumli.a.Person;
public class AcTest {
public static void main(String[] args) {
Person mike = new Person();
mike.welcome();
}
}
,然後我編譯的javac AcTest.java 和接收這些錯誤:
cTest.java:1: error: package net.baumli.a does not exist
import net.baumli.a.Person;
^
AcTest.java:5: error: cannot access Person
Person mike = new Person();
^
bad source file: ./Person.java
file does not contain class Person
Please remove or make sure it appears in the correct subdirectory of the sourcepath.
2個錯誤
我需要更改我的CLASSPATH變量?我知道它說我的班級不在正確的子目錄中,但我如何獲得它?當我創建一個包名稱時,可以將其作爲一個隨機名稱,還是必須將它匹配到目錄路徑?我對整個情況感到非常困惑。任何幫助你可以給予非常感謝!
這是一個愚蠢的問題,但文件夾「net」,「baumli」和「a」存在嗎? (它符合你的包的名字) – jorgevasquezang
把Person.java和AcTest.java放入Users/myname/Desktop/java/accessControl/net/baumli/a/- 假設你正在用命令行編譯,將你的默認目錄設置爲用戶/ MYNAME /桌面/ JAVA/AccessControl的/。然後執行「javac net/baumli/a/AcTest.java」。除非需要找到其他需要找到的類,否則不需要類路徑變量。 – arcy