打包的意义:
可以使用嵌套层次结构来组织包
为了更好地规划代码,防止命名冲突和混乱
当把类组织起来放进一个包内时,也就给包中成员赋予了相互访问的权限
声明包:
package 包名,必须是源代码第一条语句
包名由小写单词组成
编程规范要求在定义包名称之前加上唯一前缀,一般使用域名的倒置,比如com.baidu.[部门].[项目名]
访问其他包中的公开类:
1、类名前加完整包名
2、import 包名[.类名];可以导入整个包或导入包中的一个类
//Dog.java
package com.test.entity;//打包 /* //编译带包的java源代码 javac -d . Dog.java */ public class Dog { //String name;//同一包里面的类可访问,不同包中的类不能访问 public String name; public int age; public void show(){ System.out.println(name+"--"+age); } }
//DogTest.java
package com.test.bll;//打包 import com.test.entity.Dog;//引入类 /* //编译带包的java源代码 javac -d . DogTest.java //运行带包的java字节码文件 java com.test.bll.DogTest */ public class DogTest { public static void main(String[]args) { //完整包名引用,引用的是.class文件,所以Dog.java修改后要重新编译 //com.test.entity.Dog dog=new com.test.entity.Dog(); Dog dog=new Dog(); dog.name="小小"; dog.age=1; dog.show(); } }
执行效果:
附:如果是同一包名,则调用方式与没有包一样,直接调用。