现在的位置: 首页 > 综合 > 正文

Java之package

2013年09月02日 ⁄ 综合 ⁄ 共 1912字 ⁄ 字号 评论关闭

一、包的用处

  • 对类文件进行分类管理。
  • 给类提供多层命名空间。
  • 写在程序文件的第一行。
  • 类名的全称的是  :包名.类名。
  • 包也是一种封装形式。
package cn.itstu;
class PackageDemo
{    
	/*
	用javac -d . PackageDemo.java  在当前目录下自动生成包的文件夹
	【javac -d c:\ PackageDemo.java】在指定目录C盘下自动生成包的文件夹
	注意:运行.class的文件时正确的类名是:java cn.itstu.PackageDemo
	*/
	public static void main(String args[])
	{
		System.out.println("hello package!!");
	}
}
二、包与包之间的访问
package cn.itstu;
class PackageDemo
{    
	/*
	  将源文件编译打包到C:\myclass 文件夹下
	*/
	public static void main(String args[])
	{   
		/* cmd输入命令
		 1.javac -d c:\myclass DemoA.java
		 2.set classpath=c:\myclass
		 3.javac -d c:\myclass PackageDemo.java
		 4.java cn.itstu.PackageDemo
		*/
		packa.DemoA d=new packa.DemoA();
        d.show();

		//packb.DemoB b=new packb.DemoB(); 
		//b.method();  error 访问权限不够
	}
}

package packa;
public class DemoA extends packb.DemoB //类的权限必须是public
{
	
		public void show()//方法的权限也必须是public
		{
			System.out.println("demoa show run");
			method();
		}
	
}

package packb;
public class DemoB 
{
  /* public */ protected void method()
	{
	   System.out.println("demob method run");
	}

	/*当method方法被public修饰,可以被其子类DemoA访问,
	也可以被其他包的类访问,但是当method方法被protected
	修饰,method方法只能被其子类访问。
	*/
}

结论:

  1. 包与包之间进行访问,被访问的包中的类以及类中的成员,需要public修饰。
  2. 不同包中的子类还可以直接访问父类中被protected权限修饰的成员。
  3. 包与包之间可以使用的权限只有两种,public  protected。
              public       protected      default         private
同一类中    OK             OK                OK                 OK
同一包中    OK             OK                OK                 NO
子类            OK             OK                NO                 NO
其他类中    OK             NO                NO                 NO
三、导包 import
通过import我们可以简化类名的书写。
包名我们一般用url,因为url具有唯一性。如: package com.qq.demo;
 导包:import com.qq.demo.*;  //*是通配符,表示导入com.qq.demo包下的所有类,开发中推荐使用导入具体类名,需要哪个类导入哪个,可以节省内存开销,如:
import com.qq.demo.ClassA;
注意:我们导入两个包 import packa.*;   import packb.*;  如果这两个包中有相同的类classA存在,我们在使用类的时候必须指明使用哪个包下的该类
如  :packa.ClassA  a=new packa.ClassA();
       packb.ClassA  b=new packb.ClassA();
四、jar包

  • Java的压缩包
  • 方便项目的携带。
  • 方便于使用,只要在classpath设置jar路径即可。
  • 数据库驱动,SSH框架等都是以jar包体现的。
通过jar.exe工具对jar的操作。
• 创建jar包           jar  -cvf  mypack.jar  packa packb
• 查看jar包           jar  -tvf  mypack.jar   [>定向文件]               如:jar  -tvf  mypack.jar  >c:\1.txt
• 解压缩               jar  -xvf  mypack.jar
• 自定义jar包的清单文件         jar –cvfm  mypack.jar  mf.txt  packa packb

抱歉!评论已关闭.