PackageDemo.java文件
package pack;
class Demo
{
public static void main(String args [])
{
packa.DemoA d= new packa.DemoA();
d.show();
}
}
DemoA.java文件
package packa;
public class DemoA
{
public void show()
{
System.out.println("hello world!");
}
}
/*
G:\沒用的>javac -d . DemoA.java
G:\沒用的>javac -d . PackageDemo.java
PackageDemo.java:7: 錯誤: 找不到符號
DemoA d= new DemoA();
^
符號: 類 DemoA
位置: 類 Demo
PackageDemo.java:7: 錯誤: 找不到符號
DemoA d= new DemoA();
^
符號: 類 DemoA
位置: 類 Demo
2 個錯誤
G:\沒用的>
錯與原因:類名寫錯,
因爲類名的全稱是:包名.類名。
G:\沒用的>javac -d . PackageDemo.java
PackageDemo.java:7: 錯誤: DemoA在packa中不是公共的; 無法從外部程序包中對其進行訪
問
packa.DemoA d= new packa.DemoA();
^
PackageDemo.java:7: 錯誤: DemoA在packa中不是公共的; 無法從外部程序包中對其進行訪
問
packa.DemoA d= new packa.DemoA();
^
2 個錯誤
G:\沒用的>
錯誤原因:有了保範圍變大,一個包中的類要被訪問必須要有做夠大的權限,所以被訪問的類要被public修飾
G:\沒用的>javac -d . DemoA.java
G:\沒用的>javac -d . PackageDemo.java
PackageDemo.java:8: 錯誤: show()在DemoA中不是公共的; 無法從外部程序包中對其進行
訪問
d.show();
^
1 個錯誤
G:\沒用的>
錯誤原因:類公有後被訪問的成員也要共有,纔可以被訪問
G:\沒用的>java pack.Demo
hello world!
G:\沒用的>
總結:包與包之間進行訪問,被訪問的包中的類以及類中的成員,需要public修飾
*/