包(package)
/* 包(package)
** 对类文件进行分类管理
** 给类提供多层命名空间
** 写在程序文件的的第一行
** 类名的全程是:包名(小写).类名
** 包也是一种封装形式。
*/
package pack;
class packageDemo{
public static void main(String[] args){
System.out.println("package demo!");
}
}
在编译时需要注意,需指定类文件生成的目录,采用如下方式编译:
javac -d . packageDemo.java
包与包之间的访问:
/*
** 总结:
** 包与包之间进行访问,被访问的包中的类及其成员,需要public修饰;
** 不同包中的子类还可以直接访问父类中被protected权限修饰的成员;
** 包与包之间可以使用的权限只有两种:public protected
** public protected default private
** 同一个类 ok ok ok ok
** 同一个包 ok ok ok
** 子类 ok ok
** 不同包中 ok
*/
package pack;
class packageDemo{
public static void main(String[] args){
System.out.println("package demo!");
packA.packageA pa=new packA.packageA();
pa.show();
}
}
//包与包之间的访问;
//pack包调用该包;
package packA;
public class packageA{
public void show(){
System.out.println("This is package A.");
}
}
import的使用:
package pack;
//为了简化类名的书写,引入import。
import packA.packageA
//import packA.* //导入packA包中的所有类(不包括子包);
//开发中不建议使用通配符*,用哪个类导入哪个类;
//当导入包中的类出现重名,必须使用包名;
//建立包名不要重复,可以使用url来定义,url是唯一的。
//如:www.itcast.cn
//package cn.itcast.demo
//package cn.itcast.test
class packageDemo{
public static void main(String[] args){
System.out.println("package demo!");
packA.packageA pa=new packA.packageA();
pa.show();
}
}