包和jar包


包(package):
对类文件进行分类。
给类提供多层命名空间。
写在程序文件的第一行。
类名的全称是: 包名.类名
包是一种封装形式,包的成员是一些相关的类、接口和子包,也可能
还包括包中的类所用的附加资源文件(例如图像文件)。

优点:
1,包为相关联的接口和类创建了分组。
2,包创建了有助于避免类型之间命名冲突的命名空间。
3,包为开发应用框架提供了保护域。包内的代码可以与访问权限修
饰符相互协作,使外部代码无法获取他们。

总结:
包与包之间进行访问,被访问的包中的类以及类中的成员,需要
public修饰。不同包中的子类还可以直接访问父类中被protected权限修饰的成员

包与包之间可以使用的权限只有两种:public protected。

                    public     protected    default      private

同一个类中     ok             ok             ok              ok
同一个包中     ok             ok             ok
不同包子类     ok             ok
不同包中         ok

java.lang包被默认导入到所有代码中,导入代码用关键字:import
导入机制是一种被动机制。因为除非用到了包中的某个类型,否则
在编译期不会读入有关具名包和类的信息。import语句仅仅是告诉编译器,如果它在本地找不到定义的类型时,他应该如何确定该类型的完全限定名。
那么编译器会按照什么顺序搜索该类型呢?
1,包括集成类型在内的当前类型。
2,当前类型的嵌套类型。
3,显示命名的导入类型(单类型导入)。
4,在同一个包中声明的其他类型。
5,隐式命名的导入类型(按照导入)。
如果按照上述搜索完之后,该类型仍然没有被找到,那么编译器就
会报错。
注意:如果我们对某个给定的包使用按需导入,而该包中的某个类
型和当前包中的某个类型同名,那么编译器会首先找到当前包中的类型,而不是导入这个特定名中的类型。在这种情况下,我们就需要使用单类型导入,这样就可以明确要使用的类型是来自于其他包。当然,也可以只使用完全限定名。

Jar包:
java的压缩包:
方便项目的携带。
方便于使用,只要在classpath设置jar路径即可。
数据库驱动,SSH框架等都是以jar包体现的。

用法: jar {ctxui}[vfm0Me] [jar-file] [manifest-file]
 [entry-point] [-C dir] files ...

选项包括:
-c 创建新的归档文件
-t 列出归档目录
-x 解压缩已归档的指定(或所有)文件
-u 更新现有的归档文件
-v 在标准输出中生成详细输出
-f 指定归档文件名
-m 包含指定清单文件中的清单信息
-e 为捆绑到可执行 jar 文件的独立应用程序
指定应用程序入口点
-0 仅存储;不使用任何 ZIP 压缩
-M 不创建条目的清单文件
-i 为指定的 jar 文件生成索引信息
-C 更改为指定的目录并包含其中的文件
如果有任何目录文件,则对其进行递归处理。
清单文件名、归档文件名和入口点名的指定顺序
与 "m"、"f" 和 "e" 标志的指定顺序相同。

示例 1:将两个类文件归档到一个名为 classes.jar 的归档文件中
jar cvf classes.jar Foo.class Bar.class
示例 2:使用现有的清单文件 "mymanifest" 并将 foo/ 目录中的所有文件归档到 "classes.jar" 中

jar cvfm classes.jar mymanifest -C foo/ .

在创建jar包的时候,要先切换到包所在的文件夹。

创建一个jar包,其中包含两个包packa和pack:
jar -cf haha.jar packa pack
查看一个jar包内容目录:
jar -tf haha.jar

如果要使用jar包中的类,将jar包放到classpath路径下。

将信息放到指定的txt文件中:
jar -tvf haha.jar >c:\1.txt
v:是详细的意思。可要可不要,如果有v显示的信息更全面。当然

也可以这样写-tfv,这样显示的信息要比上一个少一些。

ctrl+c:doc下的快捷键,停止显示。

附加:
API(帮助文件)应用程序编程接口文档:
运行指令:javadoc -d <help文档的存储路径> -author -version
 (要编译的java文件)

jar包图标恢复:
WIN7系统下打开Jar文件时报错,提示"Could not find the main
 class" 的警告。通过上网搜索找到了一些解决办法,但是那些方法只适用于XP系统或者XP以前的系统,在WIN7系统下完全行不通。下面提供两种解决方法:

第一种方法:

通过分析jar文件的运行原理,我们可以用一种替代方法。

步骤一:新建一个文本文档,输入内容"javaw -jar %1 ",并保存为批处理文件,例如"run.bat "。

步骤二:右键点击.jar格式的文件 ,选择其打开方式为上面建的run.bat 。

此时jar就能运行了....

第二种方法:

第一种方法可以解决问题,但是有些不足之处,下面介绍一种更好的方法:通过修改注册表来解决该问题。
步骤一:打开注册表,开始->运行(或者用快捷键WIN+R),
输入regedit,确定;

步骤二:找到HKEY_CLASSES_ROOT/Applications /javaw.exe,一开始没有的话,就在资源管理器中找到javaw.exe文件,如我的电脑中为D:/Program Files/Java/jre/bin/javaw.exe,运行下,或找个Jar文件,选择打开方式,输入D:/Program Files/Java/jre/bin/javaw.exe,再选择打开就行了;

步骤三:进入HKEY_CLASSES_ROOT/Applications/javaw.exe/shell/open/command,修改默认的键值为 "D:/Program Files/Java/jre/bin/javaw.exe" -jar "%1" 。Java环境安装在其他地方也类似,只要改一下文件地址就行了。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值