什么是包?
java中的包可以当成windows系统中的文件夹来看待。
包的作用:
    1、解决类名重复产生冲突的问题。
    2、便于软件版本的发布。
包的定义格式:
    package 包名;
包名命名规范:包名全部小写。
包语句注意的事项:
    1、package语句必须位于java文件中的第一个语句。
    2、如果一个类加上了包语句,那么该类的完整类名是:包名.类名。
    3、一个java文件只能有一个包语句。

编译java文件并指定存放目录的命令
    javac -d 指定类文件的存放路径 java源文件

有了包之后类与类之间的访问每次都必须加上报名,so,sun公司提供了导包语句来解决该问题。
导包语句的格式:
    import 包名.类名; 用通俗的语言来说就是“导入xxx包的xxx类”
使用导包语句需要注意的细节:
    1、一个java文件中可以出现多条导包语句。
    2、“*”为导包语句的通配符,但是只能通配类名。
    3、import package.*; 不会作用于package包下的子包。
    4、推荐使用 import 包名.类名; 以为使用*通配符会导致结构不清晰。
使用导包语句的环境:
    相互访问的两个类不在同一包下面时,可以使用导包语句。
    注意:java.lang 是默认导入的,不需要我们自己导入。java.lang包下的类可以直接使用。

到此重新温习一下,前面博客(面向对象的三大特征----封装)讲解的权限修饰符。
            public(公共)        protected(受保护)           default(缺省)       private (大到小)

同一个类      true                 true                        true                 true


同一个包      true                 true                        true                 false

 
子父类        true                 true                       false                 false


不同包        true                 false                      false                 false

注意: 在不同包下面只有public 与 protected 可以访问,而且protected必须是在继承关系下才能够访问。

打jar包: 需要使用到jdk的开发工具(jar.exe)
jar的用法:
    
使用格式:
 
    jar -cvf jar文件的名字  class文件或者是文件夹

打jar包要注意的事项:
    1. 一个程序打完了jar之后 必须要在清单文件上指定入口类: 格式 Main-Class: 包名.类名
    2. jar包双击运行仅对于图形化界面的程序起作用,对控制台的程序不起作用。


jar文件的作用:
    1. 方便用户快速运行一个项目。
    2. 提供工具类以jar包的形式给别人使用。


如果使用jar包里面的类必须要先设置classpath路径。

原文地址:https://www.cnblogs.com/nicker/p/6171154.html