Java 包與包之間的訪問 (類在不同包裡)
阿新 • • 發佈:2019-02-10
package mypack; class PackageDemo2{ public static void main(String[] args) { //DemoA d=new DemoA(); packa.DemoA d=new packa.DemoA(); d.show(); System.out.println("Hello package"); } } /* D:\畢Java\包\PackageDemo2.java:6: 錯誤: 找不到符號 DemoA d=new DemoA(); ^ 符號: 類 DemoA 位置: 類 PackageDemo2 D:\畢Java\包\PackageDemo2.java:6: 錯誤: 找不到符號 DemoA d=new DemoA(); ^ 符號: 類 DemoA 位置: 類 PackageDemo2 原因 類名寫錯 應為DemoA類已經有包的所屬 所以必須要明確其包名 記住DemoA這個名字是錯誤的 正確 的名稱是 包名.類名 packa.DemoA 2------------------------------------ D:\畢Java\包\PackageDemo2.java:7: 錯誤: 程式包packa不存在 packa.DemoA d=new packa.DemoA(); ^ D:\畢Java\包\PackageDemo2.java:7: 錯誤: 程式包packa不存在 packa.DemoA d=new packa.DemoA(); 原始是在當前目錄下沒找到,以為packa 存放在其他目錄下 應該配置一個classpath 錯誤3---------------------------------- PackageDemo2.java:8: 錯誤: show()在DemoA中不是公共的; 無法從外部程式包中對其進行訪問 d.show(); 包中方法沒 public 總結: 包與包之間的類進行訪問,被訪問的包中的類必須是public的,被訪問包中類的方法也必須是public的 */
package packa;
public class DemoA {
public void show()
{
System.out.println("DemoA show run");
}
}