阅读背景:

包的应用

来源:互联网 

package pack;

class PackageDemo{
	public static void main(String[] args){
		packa.Packa a = new packa.Packa();
		a.show();
		a.method();
	}
}

/*
PackageDemo.java:5: 毛病: 找不到符号
                Packa a = new Packa();
                ^
  符号:   类 Packa
  地位: 类 PackageDemo
PackageDemo.java:5: 毛病: 找不到符号
                Packa a = new Packa();
                              ^
  符号:   类 Packa
  地位: 类 PackageDemo
2 个毛病

毛病缘由:类名写错
由于类名的全名是:包名.类名
________________________________________
PackageDemo.java:5: 毛病: 找不到符号
                pack.Packa a = new pack.Packa();
                    ^
  符号:   类 Packa
  地位: 程序包 packa
PackageDemo.java:5: 毛病: 找不到符号
                pack.Packa a = new pack.Packa();
                                       ^
  符号:   类 Packa
  地位: 程序包 packa
2 个毛病

毛病缘由:packa包不在当前目录下
须要设置classpath告知jvm去哪里找指定的packa包
————————————————————————————————————————————————
PackageDemo.java:5: 毛病: Packa在packa中不是公共的; 没法从外部程序包中对其进行访
问
                packa.Packa a = new packa.Packa();
                     ^
PackageDemo.java:5: 毛病: Packa在packa中不是公共的; 没法从外部程序包中对其进行访
问
                packa.Packa a = new packa.Packa();
                                         ^
2 个毛病

毛病缘由:有了包,规模变大,一个包中的类要被拜访,必需有
足够大的权限。被拜访的类的润饰符加上public
________________________________________________
PackageDemo.java:6: 毛病: show()在Packa中不是公共的; 没法从外部程序包中对其进行
拜访
                a.show();
                 ^
1 个毛病

毛病缘由:类公有后,被拜访的成员也要公有才可以被拜访。

总结:
包与包之间进行拜访,被拜访的包中的类和类中的成员,须要public润饰
不同包中的子类还可以直接拜访父类中被protected权限润饰的成员
包与包之间可以应用的权限只有两种:public和protected

            public protected default private
同一个类中    ok      ok       ok      ok
同一个包中    ok      ok       ok          
子类		  Ok      ok
不同包中      ok

*/package pack;

class PackageDemo{
	public static v




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: