Java学习笔记-包,classpath,import,jar
这里介绍Java的包,classpath,import和jar
包(package)
- 对类文件进行分类管理
- 给类提供多层命名空间
- 写在程序文件的第一行
- 类名的全称的是
包名.类名 - 包也是一种封装形式
javac -d . Demo.java
包之间的访问
- 被访问的包中的类权限必须是public的
- 类中的成员权限:public或者protected
- protected是为其他包中的子类提供的一种权限
四种权限
| public | protected | default | private | |
|---|---|---|---|---|
| 同一类中 | √ | √ | √ | √ |
| 同一包中 | √ | √ | √ | |
| 子类 | √ | √ | ||
| 不同包中 | √ |
classpath
- 给JVM提供的一个环境变量
- 指定类或者包所在的路径
- classpath变量值的最后有分号与无分号的区别
import
- 简化类名书写
- 一个程序文件中只有一个package,可以有多个import
- 用来导包中的类,不导入包中的包
- 通常写
import mypack.Demo;
Jar包
Java的压缩包
方便项目的携带
方便于使用,只要在classpath设置jar路径即可
数据库驱动,SSH框架等都是以jar包体现的通过jar.exe工具对jar的操作
创建jar包
jar -cvf mypack.jar packa packb
查看jar包
jar -tvf mypack.jar [>定向文件]
解压缩
jar -xvf mypack.jar
自定义jar包的清单文件
jar –cvfm mypack.jar mf.txt packa packb
Jar详解
JAR全称是Java Archive File,即Java档案文件。JAR文件与zip文件的主要区别是JAR文件在生成时候会生成META-INF/MANIFEST.MF清单文件
使用JAR的好处:
- 安全。JAR有对应的数字签名
- 加快下载速度
- 压缩
- 包封装
- 可移植
JAR命令详解
- 创建JAR文件:
jar cf test.jar test - 创建JAR文件并显示压缩过程:
jar cvf test.jar test - 不使用清单文件:
jar cvfM test.jar test - 自定义清单文件内容:
jar cvfm test.jar manifest.mf test - 查看JAR包内容:
jar tf test.jar - 查看JAR包详细内容:
jar tvf test.jar - 解压缩:
jar xf test.jar - 带提示信息的解压缩:
jar xvf test.jar - 更新JAR文件:
jar uf test.jar hello.class - 更新时显示详细信息:
jar uvf test.jar hello.class
- 创建JAR文件:
创建可执行的JAR包
- 在Windows下安装JRE时,安装文件会将
*.jar文件映射由javaw.exe打开。 - jar命令有一个-e选项,用于指定JAR包中作为程序入口的主类名称。
jar cvfe test.jar test.Test test - 运行JAR包有两种方式:
java -jar test.jarjavaw test.jar
- 在Windows下安装JRE时,安装文件会将
关于JAR包的技巧
- 解压JAR包:
unzip test.jar -d dest/ - 可以使用WinRAR创建JAR:添加清单文件,至少需要以下两行
Menifest-Version:1.0Created-By: 1.8.0 (Oracle Corporation)
- 解压JAR包:
Java学习笔记-包,classpath,import,jar的更多相关文章
- JAVA学习笔记 -- 包资源文件jar包裹
初学者GUI,使用Eclipse出口jar包裹,不能显示最小化的图标集(hello.png根文件下的项目文件夹文件).码如下面: import javax.swing.JFrame; import j ...
- 0032 Java学习笔记-类加载机制-初步
JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...
- Java学习笔记之log4j与commons-logging<转>
Java学习笔记之log4j与commons-logging<转> (2011-02-16 11:10:46) 转载▼ 标签: 杂谈 分类: 技术学习之其他 Logger来自log4j自己 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- java学习笔记12--国际化
java学习笔记12--国际化 国际化的操作就是指一个程序可以同时适应多门语言,即:如果现在程序者是中国人,则会以中文为显示文字,如果现在程序的使用者是英国人,则会以英语为显示的文字,也就是说可以通过 ...
- 20145230《java学习笔记》第九周学习总结
20145230 <Java程序设计>第9周学习总结 教材学习内容 JDBC JDBC简介 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操作, ...
- 0035 Java学习笔记-注解
什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...
- 20145330第九周《Java学习笔记》
20145330第九周<Java学习笔记> 第十六章 整合数据库 JDBC入门 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JD ...
- 20145330第八周《Java学习笔记》
20145330第八周<Java学习笔记> 第十五章 通用API 通用API 日志:日志对信息安全意义重大,审计.取证.入侵检验等都会用到日志信息 日志API Logger:注意无法使用构 ...
随机推荐
- 使用 uni-app 开发遇到的问题
想法: uni-app 给我的感觉就像是把微信小程序的API,组件和vue的语法揉捏在一起所组成框架,没有原生小程序和vue那种流畅感,官方的 uni-ui 组件库不够成熟,坑比较多. 问题一:自 ...
- C语言学习系列(六)基本语法
一.C运算符 算术运算符(语法和java类似或基本一样略过不再描述) 关系运算符(略) 逻辑运算符(略) 位运算符 运算符 描述 实例 & 如果同时存在于两个操作数中,二进制 AND 运算符复 ...
- 014_编写批量修改扩展名脚本,如批量将 txt 文件修改为 doc 文件
#!/bin/bash#执行脚本时,需要给脚本添加位置参数 带参for i in "ls *.$1"do #去尾 mv $i ${i%.*}.$2done
- 牛客练习赛53 (E 老瞎眼 pk 小鲜肉) 线段树+离线
考试的时候切的,类似HH的项链~ code: #include <bits/stdc++.h> #define ll long long #define M 500003 #define ...
- iOS测试-如何指标量化app耗电量和性能XCTest Metrics
对于app端的专项测试,Android端我们可以用adb或者一些三方工具进行(例如itest)进行实时的性能监控,iOS端的话也可以用用一些三方的工具,但是需要嵌入到我们的项目当中,今天来介绍下Xco ...
- iptables 查看对应规则及端口号
iptables -L -n --line-number
- Maven的几种新建项目方式
1. 使用原型创建Maven的java工程 (1) 选择 JDK 的版本,勾选“使用原型创建”,选中 maven-archetype-quickstart,下一步. (2) 填写公司名,填写项目名,修 ...
- PYTHON -----pyinstaller的安装
这几天一直在安装pyinstaller库,发现了一个好方法 因为一直使用pip安装,我只能介绍一下pip安装pyinstaller的方法的注意事项 1:一般pip会在安装python的Scripts文 ...
- ArcGIS超级工具SPTOOLS-MXD操作篇
1.1 MXD批量裁剪 操作视频:https://weibo.com/tv/v/Hy7P6bF7d?fid=1034:4381332084881258 把当前窗口的MXD,按某个图层的某个字段批量裁 ...
- CISCN 2019 writeup
划水做了两个pwn和两个逆向...... 二进制题目备份 Re easyGO Go语言,输入有Please字样,ida搜索sequence of bytes搜please的hex值找到字符串变量,交叉 ...