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修饰
*/