API

——Application Programming Interface(应用程序编程接口)

API是应用程序接口的意思,API是Java提供的基本编程接口,当使用Java语言进行编程时,不可能把所有的Java类、所有方法全部记下来,那么如果我们遇到一个不确定的地方时,必须通过API文档来查看某个类、某个方法的功能和用法。

API文档的阅读


㈠package包的用法

  • 为什么需要package?

    • 为了解决类之间的重名问题
    • 为了便于管理类:合适的类位于合适的包中!
  • package怎么用?
    • 通常是类的第一句非注释性语句。
    • 包名:域名倒着写即可,再加上模块名,并与内部管理类。
  • 注意事项
    • 写项目都要加包,不要使用默认包。
    • com.gao和com.gao.car ,这两个没有包含关系,是两个完全独立的包。只是逻辑上看起来后者是前者的一部分。

㈡JDK中主要的包

JDK所提供的所有标准Java类都存放在Java包中,如java.lang包中包含了运行Java必不可少的系统类。由于系统会自动将java.lang引入,所以不需要在源文件中用import语句来显示地引入这个包。另外,java.util和java.io是必须提供的标准包。

在JDK中常用的包有以下几种:

  • java.lang:语言包;

    • 包含一些Java语言的核心类,如String、Math、Integer、System 和 Thread,提供常用的功能。
  • java.util:实用包;
    • 包含一些实用工具 类,如定义系统特性、使用与日期日历相关的函数
  • java.awt:抽象窗口工具包;
    • 包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)
  • javax.swing:轻量级的窗口工具包,这是目前使用最广泛的GUI程序设计包;
  • java.io:输入输出包;
    • 包含能提供多种输入/输出功能的类。
  • java.net:网络函数包;
    • 包含执行与网络相关的操作的类。
  • java.applet:编制applet用到的包(目前编制applet程序时,更多的是使用swing中的JApplet类)。

生成自己项目的API文档


  • 特殊的注释

    • 文档注释: /**
  • 使用JAVADOC生成API文档
    • 解决问题:代码和文档分离
    • 如果编写Java源代码时添加了合适的文档注释,然后通过JDK提供的javadoc工具可以直接将源代码里的文档注释提取成一份系统的API文档。
    • 【如下所示】

如上一段代码,使用了javadoc的注释形式,注释以/** 开始, 以*/ 结尾,注释写在要说明部分的前面。

如何生成javadoc呢? 很简单,在eclipse中点击导航栏中的 project->Generate javadoc   跳出如下界面,然后勾选需要生成文档的包以及生成文档的位置就OK啦!~

注:javadoc工具默认不会提取@author和@version两个标记信息,如果需要提取这两个标记应该使用javadoc工具指定的-author和-version两个版本

①常用Java注释标签(Java comment tags)
@author  作者; 适用范围:文件、类、方法
(*多个作者使用多个@author标签标识,java doc中显示按输入时间顺序罗列。)
例:* @author Leo. Yao

@param  输入参数的名称; 说明 适用范围:方法
例:* @param str the String用来存放输出信息。

@return 输出参数,返回值的含义; 说明适用范围:方法
例:     * @return    <code>true</code>执行成功;
  *                 <code>false</code>执行失败.

@since JDK版本用于标识编译该文件所需要的JDK环境。
适用范围:文件、类
例:     * @since JDK1.6

@version 版本号用于标识注释对象的版本号
适用范围:文件、类、方法
例:     * @version 1.0

@see 链接目标表示参考。会在java 文档中生成一个超链接,链接到参考的类容。
用法:
@see #field
   @see #Constructor(Type, Type...)
   @see #Constructor(Type id, Type id...)
   @see #method(Type, Type,...)
   @see #method(Type id, Type, id...)
   @see Class
   @see Class#field
   @see Class#Constructor(Type, Type...)
   @see Class#Constructor(Type id, Type id)
   @see Class#method(Type, Type,...)
   @see Class#method(Type id, Type id,...)
   @see package.Class
   @see package.Class#field
   @see package.Class#Constructor(Type, Type...)
   @see package.Class#Constructor(Type id, Type id)
   @see package.Class#method(Type, Type,...)
   @see package.Class#method(Type id, Type, id)
   @see package

@throws 异常标识出方法可能抛出的异常(和exception同义)
适用范围:方法
例:     * @throws IOException  If an input or output exception occurred

@deprecated 解释标识对象过期
适用范围:文件、类、方法

@link 链接地址链接到一个目标,用法类似@see。但常放在注释的解释中形如{@link …}
例:
/**
 * @deprecated      As of JDK 1.1, replaced by
 *                         {@link #setBounds(int,int,int,int)}
 */
②Java注释的使用顺序

* @author      (指定程序的作者,classes and interfaces only, required)
* @version     (源文件的版本,classes and interfaces only, required. See footnote 1)
* @param       (方法的参数说明信息,methods and constructors only)
* @return      (方法的返回值说明信息,methods only)
* @exception   (抛出异常类型,@throws is a synonym added in Javadoc 1.2)
* @see         (“参见”用于指定交叉参考的内容)
* @since       
* @serial      (or @serialField or @serialData)
* @deprecated  (see How and When To Deprecate APIs)

API文档的阅读的更多相关文章

  1. android api文档:intent阅读笔记

    intent是几大组件之间进行通信的组件.可以包含以下几个部分: component:指明了处理该intent的对象. Action类似于一个函数名,规定了其他部分的对应用法: The action ...

  2. Spring Boot中使用Swagger2构建强大的RESTful API文档

    由于Spring Boot能够快速开发.便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API.而我们构建RESTful API的目的通常都是由于多终端的原因,这 ...

  3. 更新日志 - BugHD 全面开放 API 文档

    Hey, 上周 BugHD 全面更新 API 文档,上线一些新的功能,让你可以轻松掌控 Crash ,更方便分享.定位和解决.同时,新版 fir.im 也有所优化,希望你们会喜欢. 具体如下: 开放 ...

  4. HighCharts 详细使用及API文档说明

    一.HighCharts开发说明: HighCharts开发实际上配置HighCharts每个部分,比如配置标题(title),副标题(subtitle)等,其中每个部分又有更细的参数配置,比如标题下 ...

  5. 为什么开发者热衷在Stack Overflow上查阅API文档?

    摘要:一项新研究跟踪了Android开发者的访问历史,发现开发者多达二分之一的文档是从Stack Overflow上获取到的,而Stack Overflow上的示例也多于官方指南,开发者通过搜索更多时 ...

  6. HighCharts 具体使用及API文档说明

    一.HighCharts开发说明: HighCharts开发实际上配置HighCharts每一个部分,比方配置标题(title),副标题(subtitle)等,当中每一个部分又有更细的參数配置,比方标 ...

  7. grunt api 文档

    Grunt docs Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器. 安装 grunt-cli npm install grunt-cli -g 注 ...

  8. 【HighCharts系列教程】二、Highcharts结构及API文档

    一.你必须知道的 1.首先,HighCharts是基于Jquery框架开发的,所以需要在页面引入Jquery,具体代码是: <script type="text/javascript& ...

  9. springboot~mockMvc和asciidoctor生成基于TDD的API文档

    API文档是前端与后端快速开发,减少沟通成本的必要条件,有一份完善的文档是很必要的,由通过测试来生成文档的好处就是:测试数据有了,测试返回结果有了,而且可以对这些字段进行说明,很清晰,在springb ...

随机推荐

  1. IOS第四天(3:数组的排序和乱序)

    数组的升序和降序 - (void)sortWith:(NSArray *)array { // 排序 array = [array sortedArrayUsingComparator:^NSComp ...

  2. SPOJ 3267 D-query(离散化+主席树求区间内不同数的个数)

    DQUERY - D-query #sorting #tree English Vietnamese Given a sequence of n numbers a1, a2, ..., an and ...

  3. 被spring和hibernate4逼疯

    spring3.1整合hibernate4,事务都配置上了的,但getCurrentSession()仍然获得不到 以下是各配置 web.xml ? 1 2 3 4 5 6 7 8 9 10 11 1 ...

  4. mapreduce运用

    测试环境:192.168.1.55 mongo 192.168.1.55:30001show dbsuse gwgps 测试目标,求出两个班的总数,人数,平均分数等.可以根据不同的业务需求,定制map ...

  5. twitter storm源码走读之3--topology提交过程分析

    概要 storm cluster可以想像成为一个工厂,nimbus主要负责从外部接收订单和任务分配.除了从外部接单,nimbus还要将这些外部订单转换成为内部工作分配,这个时候nimbus充当了调度室 ...

  6. LR中Vugen的多进程与多线程(脚本命令行)

    Controller使用驱动程序(如mdrv.exe或r3vuser.exe)来运行Vuser.用户可以在Controller的run-time setting中选择Vuser的运行方式:多进程/多线 ...

  7. Web Service性能测试方案

    目录: 1.web Service简介 2.SoapUI介绍 3.使用SoapUI进行web service性能测试 4.使用LR进行web service性能测试 5.使用JMeter进行web s ...

  8. ubuntu lnmp

    apt-get update apt-get upgrade apt-get install libxml2 libxml2-dev apt-get install make apt-get inst ...

  9. Python For Data Analysis -- IPython

    IPython Basics 首先比一般的python shell更方便一些 比如某些数据结构的pretty-printed,比如字典 更方便的,整段代码的copy,执行 并且可以兼容部分system ...

  10. Jquery小例子:全选按钮、加事件、挂事件;parent()语法;slideToggle()语法;animate()语法;元素的淡入淡出效果:fadeIn() 、fadeOut()、fadeToggle() 、fadeTo();function(e):e包括事件源和时间数据;append() 方法

    function(e): 事件包括事件源和事件数据,事件源是指是谁触发的这个事件,谁就是事件源(div,按钮,span都可以是事件源),时间数据是指比如点击鼠标的事件中,事件数据就是指点击鼠标的左建或 ...