这里介绍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的好处:

  1. 安全。JAR有对应的数字签名
  2. 加快下载速度
  3. 压缩
  4. 包封装
  5. 可移植
  • 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包

    • 在Windows下安装JRE时,安装文件会将*.jar文件映射由javaw.exe打开。
    • jar命令有一个-e选项,用于指定JAR包中作为程序入口的主类名称。

      jar cvfe test.jar test.Test test
    • 运行JAR包有两种方式:
      • java -jar test.jar
      • javaw test.jar
  • 关于JAR包的技巧

    • 解压JAR包:unzip test.jar -d dest/
    • 可以使用WinRAR创建JAR:添加清单文件,至少需要以下两行
      • Menifest-Version:1.0
      • Created-By: 1.8.0 (Oracle Corporation)

Java学习笔记-包,classpath,import,jar的更多相关文章

  1. JAVA学习笔记 -- 包资源文件jar包裹

    初学者GUI,使用Eclipse出口jar包裹,不能显示最小化的图标集(hello.png根文件下的项目文件夹文件).码如下面: import javax.swing.JFrame; import j ...

  2. 0032 Java学习笔记-类加载机制-初步

    JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...

  3. Java学习笔记之log4j与commons-logging<转>

    Java学习笔记之log4j与commons-logging<转> (2011-02-16 11:10:46) 转载▼ 标签: 杂谈 分类: 技术学习之其他 Logger来自log4j自己 ...

  4. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  5. java学习笔记12--国际化

    java学习笔记12--国际化 国际化的操作就是指一个程序可以同时适应多门语言,即:如果现在程序者是中国人,则会以中文为显示文字,如果现在程序的使用者是英国人,则会以英语为显示的文字,也就是说可以通过 ...

  6. 20145230《java学习笔记》第九周学习总结

    20145230 <Java程序设计>第9周学习总结 教材学习内容 JDBC JDBC简介 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操作, ...

  7. 0035 Java学习笔记-注解

    什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...

  8. 20145330第九周《Java学习笔记》

    20145330第九周<Java学习笔记> 第十六章 整合数据库 JDBC入门 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JD ...

  9. 20145330第八周《Java学习笔记》

    20145330第八周<Java学习笔记> 第十五章 通用API 通用API 日志:日志对信息安全意义重大,审计.取证.入侵检验等都会用到日志信息 日志API Logger:注意无法使用构 ...

随机推荐

  1. BZOJ 3894 / Luogu P4313 文理分科 (拆点最小割)

    题面 中文题面- BZOJ 传送门 Luogu 传送门 分析 这道题类似于BZOJ 3774 最优选择,然后这里有一篇博客写的很好- Today_Blue_Rainbow's Blog 应该看懂了吧- ...

  2. 题解 CF550A 【Two Substrings】

    为什么我的做法跟别人如此不一样啊qwq 思路:暴力判每一个"BA"出现的位置,二分查找他前/后有没有满足条件的"AB",时间复杂度\(O(n\log_{2}n) ...

  3. 转:关于C++ const 的全面总结

    转自:https://www.cnblogs.com/xkfz007/articles/2419518.html    如有侵权请联系博主,立即删除. C++中的const关键字的用法非常灵活,而使用 ...

  4. windows游戏编程 创建WIN32一个HelloWOrld程序

    本系列文章由jadeshu编写,转载请注明出处.http://blog.csdn.net/jadeshu/article/details/22449085 作者:jadeshu   邮箱: jades ...

  5. AcWing:244. 谜一样的牛(树状数组 + 二分)

    有n头奶牛,已知它们的身高为 1~n 且各不相同,但不知道每头奶牛的具体身高. 现在这n头奶牛站成一列,已知第i头牛前面有AiAi头牛比它低,求每头奶牛的身高. 输入格式 第1行:输入整数n. 第2. ...

  6. JAVA RPC 生产级高可用RPC框架使用分享

    先放出链接,喜欢的给个star:https://gitee.com/a1234567891/koalas-rpc 一:项目介绍 koalas-RPC 个人作品,提供大家交流学习,有意见请私信,欢迎拍砖 ...

  7. 5 款最酷的 Linux 终端模拟器

    转载:https://cloud.tencent.com/developer/article/1040344 首先我要推荐的第一个终端是 Xiki. Xiki 是 Craig Muth 的智慧结晶,他 ...

  8. 第11组 Beta版本演示

    第11组 Beta版本演示   组长博客链接 https://www.cnblogs.com/xxylac/p/12039948.html 本组成员(不知道叫什么团队) 031702635 陈郑铧(组 ...

  9. vue实现购物清单列表添加删除

    vue实现购物清单列表添加删除 一.总结 一句话总结: 基础的v-model操作,以及数组的添加(push)删除(splice)操作 1.checkbox可以绑定数组,也可以直接绑定值? 绑定数组就是 ...

  10. $this->request->post 和input 区别

    $this->request->post 和input 区别 Request是对象,而input是内置函数     文章来源:刘俊涛的博客 欢迎关注,有问题一起学习欢迎留言.评论