一:包的定义
为了更好的组织类,java有了包机制,为了区别类的命名空间
二:包的作用
package:
1对类文件进行分类管理
2,给类提供多层命名空间
3,写在程序文件的第一行
4,类名的全称是 包名,类名
5,包也是一种封装形式
三:包的运行错误的原因以及解决方法
-
错误一:找不到符号,DemoA
原因:类名错误
因为DemoA类已经有包的所属,所以必须明确其包名
注意:DemoA这个名称是错的,正确的名称是包名.类名,如:packa.DemoA -
错误二:软件包packa包不存在
原因:在当前目录下没有找到包,因为packa包存放在其他目录下
应该配置set classpath=所要目录:包名 如:set classpath=c:\mypack
package mypack;
class PackageDemo{
public static void main(String[] args){
System.out.println("hi");
}
}
3. 错误三:packa权限不是公共的
原因:类的权限不够,被封装(隐藏)
class DemoA应该改为public class DemoA
4. 错误四:packa.DemoA不是公共的,无法从外部软件包中对其进行访问d.show();
原因:class DemoA{}权限不够,默认权限也是别封装
将其改为 public class DemoA{}
package mypack;
class PackageDemo{
public static void main(String[] args){
packa.DemoA d=new packa.DemoA();
d.show();
}
}
package packa;
public class DemoA{
public void show(){
System.out.println(show run);
}
}
四:import
为了能够使用某一个包的成员,我们需要在 Java 程序中明确导入该包。使用 “import” 语句可完成此功能
import packa.DemoA;//导入了packa包中的DemoA类
Import packa.*;//导入了packa包中所有的类
导包的原则:用到哪个类就导入哪个类
总结:包与包之间的类进行访问,被访问的包中的类必须是public,、
被访问的包中的类的方法也必须是public
五:
**public protected default(默认权限) private**
同一类中 OK OK OK OK
同一包中 OK OK OK ×
子类中 OK OK × ×
不同包中 OK × × ×