一、package包

    格式:package 代码必须写在源代码文件的第一句, 约定俗成使用公司域名的倒写,之后再加其他。
        for example: package cn.chuanzhiboke.test1;

    注意: 如果你的一个Java文件放在了包中,其编译的.class文件就必须放在正确的路径下面(就是其包名对应的目录路径),而且如果在其他类中要调用这个类
        就要在类名前加上其包名。

二、import语句

    格式: 在源文件中放在 package 语句的下面, 格式实例:
      import cn.chuanzhiboke.test1.**class 表示引入包内的 **class文件。
      import cn.chuanzhiboke.test1.* 表示引入包内的所有的class文件。

    作用:在一个文件中引入了某个包过后,其它包中的程序再要调用这个包中的类文件时,不用在类名前加上包名。

    示例:
    文件1: package cn.chuanzhibike.test1;
        public class Cat
        {

        }

    文件2: //import cn.chuanzhiboke.test1.Cat.class ;
        public class Dog
        {
          public static void main(String []args)
          {
            cn.chuanzhiboke.test1.Cat c = new cn.chuanzhiboke.test1.Cat();
            // Cat c = new Cat();
          }
        }

    其中, 文件1中的.class文件必须放在cn/chuanzhiboke/test1目录下,
      而且其要被调用的类文件必须是 public权限的(其中要被调用的方法也必须是public的)。

    而cn的父目录要在classpath环境变量下, 如果想要直接运行Cat.class文件, 在dos命令行中输入包名加类名。
        D:\java>java   cn/chuanzhiboke/test1/Cat

    总结: 如果将一个类放在包中,第一句必须写package,编译文件放于正确的路径下:与包名一直的文件夹路径下。
        另一个包中的类如果要调用这个类就必须将包名写全,或者导入包名。

    但是:   访问同一个包中的类不用引入,
        class文件的最上层包的父目录必须在classpath下。
        执行一个class需要写全名。

三、jar包:

    JDK中会提供许多包:安装目录下/jre/lib/rt.jar
      其中有许多包:
      而在Java.lang中的包使用时无需引入, 其他包使用之前也要引入。

    自己创建jar包: 在包名的父目录下使用 jar 命令。
      >jar -cvf test.jar 文件名、文件夹名(可写多个)
      >jar -cvf test.jar . 表示将该目录下的所有文件压缩进包中。

    可以将jar包名存进 classpath 目录下,就可以直接

四、StaticImport 静态导入。

    jdk1.5 出现的新特性。

      为了能够使用其他的包中的类,我们可以导入这个类:
        如: import java.util.*; :导入了java.util包中的所有类。

      接触相同的原理,我们要使用其他的类中的静态成员时,可以静态导入这个类中的静态成员。
        如: import static java.util.Collections.* ; :导入了Collections中的所有静态成员。
           import static java.util.Arrays.*; :导入了Arrays中所有的静态成员。
           import static Java.lang.System.*: : 导入了System中的所有静态成员。

      好处: 再使用上述类中的导入后,使用这些类的静态成员时可以不用写类名

        如: Collections.sort(List<T> list) 可以写为: sort(List<T> list);
           Arrays.deepEequals(O[] o1, O[] o2); 可以写为 : deepEquals(O[] o1, O[] o2);
           System.out.println(); 可以写为: out.println();

      注意: 前面学过,在包导入中,如果两个包中有相同名字的类,实例化该类的时候,必须指明包名。
          同理,在类的静态导入之后,如果方法或成员重名时,应当指明方法所属的对象或者类名,
          否则,系统按照就近原则查找。

对程序进行package封装的更多相关文章

  1. 微信小程序初体验--封装http请求

    最近看了一下微信小程序,大致翻了一下,发现跟angular很相似的,但是比angular简单的很多具体可参考官方文档 https://mp.weixin.qq.com/debug/wxadoc/dev ...

  2. mpvue学习笔记-之微信小程序数据请求封装

    简介 美团出品的mpvue已经开源出来很久了,一直说要进行一次实践,这不最近一次个人小程序开发就用上了它. 看了微信官方的数据请求模块--request,对比了下get和post请求的代码,发现如果在 ...

  3. 微信小程序Http高级封装 es6 promise

    公司突然要开放微信小程序,持续蒙蔽的我还不知道小程序是个什么玩意. 于是上网查了一下,就开始着手开发..... 首先开发客户端的东西,都有个共同点,那就是  数据请求! 看了下小程序的请求方式大概和a ...

  4. 基于Linux C的socket抓包程序和Package分析 (一)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/guankle/article/details/27538031  測试执行平台:CentOS 6 ...

  5. 微信小程序 request请求封装

    在utils文件夹新建文件utils.js,封装代码如下: 小程序升级后内部不自带Promise方法,需外部引入Promise方法   var sendRequest = function (url, ...

  6. 基于Linux C的socketEthereal程序和Package分析 (一个)

     执行测试平台:CentOS 6.5发行版,内核版本号3.11 1. Linux抓包源程序 在OSI七层模型中.网卡工作在物理层和数据链路层的MAC子层. 进行网络通信时.源主机通过socket( ...

  7. (转载)基于Linux C的socket抓包程序和Package分析

    转载自 https://blog.csdn.net/kleguan/article/details/27538031 1. Linux抓包源程序 在OSI七层模型中,网卡工作在物理层和数据链路层的MA ...

  8. 微信小程序API接口封装

    @ 目录 一,让我们看一下项目目录 二,让我们熟悉一下这三个文件目的(文件名你看着办) 三,页面js中如何使用 今天的API的封装,我们拿WX小程序开发中,对它的API (wx.request)对这个 ...

  9. 微信小程序自定义组件封装及父子间组件传值

    首先在我们可以直接写到需要的 page 中,然后再进行抽取组件,自定义组件建议 wxzx-xxx 命名 官网地址:https://developers.weixin.qq.com/miniprogra ...

随机推荐

  1. WebAPI实例--第一个API

    今天终于做了第一个任务,学习API之后的第一个实例.销售设置开发API. 第一.层次结构 1.API各层 项目结构主要有五层,分别为API.BizModel.Data.DBModel.Logic. 2 ...

  2. 查看电脑保存的wifi密码

    查看电脑保存的wifi密码 查看电脑链接过的WiFinetsh wlan show profile 查看wifi的密码netsh wlan show profile name=8888 key=cle ...

  3. 软件分析之QQ

    腾讯QQ(简称“QQ”)是腾讯公司开发的一款基于Internet的即时通信软件.腾讯QQ支持在线聊天.视频通话.点对点断点续传文件.共享文件.网络硬盘.自定义面板.QQ邮箱等多种功能,并可与多种通讯终 ...

  4. win10下安装GLPK

    认识GLPK GLPK是一个解决线性规划问题的工具.是GNU计划下一个用于解线性规 划(Linear Programming)的工具包.它可以方便的描述线性规划问题,并给出相应解. 因此在linux系 ...

  5. 5.2&5.3

    队友吕日荣 http://www.cnblogs.com/Russelling/ 最近队友有点忙,尽管如此,队友还是有很给力的付出,让我们在最后完成了任务. 一开始都不知道这次的任务是要做什么,毫无头 ...

  6. JavaScript 作用域链与闭包

    作用域链 在某个作用域访问某个变量或者函数时,会首先在自己的局部环境作用域中搜寻变量或者函数,如果本地局部环境作用域中有该变量或者函数,则就直接使用找到的这个变量值或者函数:如果本地局部环境作用域中没 ...

  7. 数组操作方法(包括es5)

    //push(); 定义:可以可向数组的末尾添加一个或更多元素,并返回新的长度. 方法:push(); 语法:数组.push(新元素1,新元素2,....,新元素x) 返回值:把指定的值添加到数组后的 ...

  8. SQLSERVER 2014 内存优化表相关

    更新了SP2的补丁能够解决  不能收缩日志文件的bug了. 但是因为已经不用内存优化表了, 所以想着能够删除内存优化表的file group 但是发现 很难删除 先说结论: 以下是针对内存优化文件组的 ...

  9. CentOS7 完整安装后创建私有的yum仓库

    1. 安装 CentOS7 安装的包比较全,应用可以直接用. 2. 第一步创建 yum 包的存放路径 mkdir -p /var/www/html/ 3. 创建私有仓库 createrepo -v / ...

  10. 手动安装ettercap的过程

    知乎推送了一个中间人攻击的软件 ettercap 想着尝试进行一下安装学习, 如果有机会的话安全测试部分应该用的到. 1. 下载: wget https://codeload.github.com/E ...