一、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. 【MOOC EXP】Linux内核分析实验七报告

    程涵  原创博客 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 可执行程序的装载 知识点梳理 一.预处 ...

  2. cglib 动态代理

    JDK的动态代理比较慢,可以使用cglib的代理,速度比较快: package cn.demo02; import java.lang.reflect.Method; import java.util ...

  3. Android Studio下创建menu布局文件

    一.问题: android studio项目中没有看到menu文件夹: 在android studio项目中想要添加menu布局文件,一开始我的做法是:直接在res文件夹右键选择xml文件来添加,如下 ...

  4. Git的其他用法

    目录: 减少[.git]文件夹的大小和文件数 更换git for windows的文本编辑器 修改已经提交的commit说明 合并commit 解决merge时出现的冲突 回退一个merge 获取某一 ...

  5. 查询部门----返回给前台TreeView数据格式的数据

    实体类: public class AddressTreeDto { private Long id; private String text;//位置名称 private Long pId;//上一 ...

  6. Setting Tomcat Heap Size (JVM Heap) in Eclipse

    this article picked from:http://viralpatel.net/blogs/setting-tomcat-heap-size-jvm-heap-eclipse/ Rece ...

  7. Linux 下载安装配置Redis完整步骤

    安装: 1.获取redis资源 wget http://download.redis.io/releases/redis-4.0.8.tar.gz 2.解压 tar xzvf redis-4.0.8. ...

  8. Lodop打印控件里SET_PRINT_STYLE和SET_PRINT_STYLEA

    LODOP.SET_PRINT_STYLE 对该语句后面的打印项样式设置效果.LODOP.SET_PRINT_STYLEA 针对第一个参数设置的打印项样式设置效果.这两个语句,作用范围不同. 在设置字 ...

  9. Bootstrap排版——HTML元素的样式重定义

    前面的话 Bootstrap对默认的HTML元素进行了CSS样式定义,使得各种基本结构套用出来的HTML页面更加美观.本文将详细介绍Bootstrap中排版相关的内容 标题 [h] HTML 中的所有 ...

  10. Linux 文本处理工具grep,sed,awk

    grep.sed和awk都是文本处理工具,虽然都是文本处理工具单却都有各自的优缺点,一种文本处理命令是不能被另一个完全替换的,否则也不会出现三个文本处理命令了.只不过,相比较而言,sed和awk功能更 ...