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. java 中文转换成Unicode编码和Unicode编码转换成中文

    转自:一叶飘舟 http://blog.csdn.net/jdsjlzx/article/details/ package lia.meetlucene; import java.io.IOExcep ...

  2. Leetcode | Minimum/Maximum Depth of Binary Tree

    Minimum Depth of Binary Tree Given a binary tree, find its minimum depth. The minimum depth is the n ...

  3. 连连看beta发布

    组名:天天向上 组长:王森 组员:张政.张金生.林莉.胡丽娜 代码地址:HTTPS:https://git.coding.net/jx8zjs/llk.git SSH:git@git.coding.n ...

  4. ThinkPHP 学习笔记 ( 五 ) 数据验证

    根据官网的教程 ( http://www.thinkphp.cn/info/171.html ),数据验证的使用静态定义方式 ( 以 regex 为例 ) 无法验证数据: 而采用动态验证则正常: 控制 ...

  5. Eclipse中用User Library管理jar包

    目的:为了更方便的管理jar包,而不是一股脑儿的将引用的jar包全部放在Web App Library下. 管理和配置: 第一步:管理 新建Library并引入项目中 右键项目->Build P ...

  6. python 动态加载module、class、function

    python作为一种动态解释型语言,在实现各种框架方面具有很大的灵活性. 最近在研究python web框架,发现各种框架中需要显示的定义各种路由和Handler的映射,如果想要实现并维护复杂的web ...

  7. Solr定时更新

    今天用到solr定时重建索引和增量更新技术,就从网上搜了一些资料,在这里给大家整理了一下,也经过了自己的测试,没有异常. Solr官方提供了很强大的Data Import Request Handle ...

  8. linux下利用curl监控网页shell脚本

    #!/bin/bash smail() {mail -s "$1" gjw_apparitor@gmail.com <<EOF$1$2====report time: ...

  9. breadth-first depth-first best-first

    Computer Science An Overview _J. Glenn Brookshear _11th Edition For our example in Figure 11.7, we c ...

  10. android Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine.

    在当前工程目录中 gradle.properties 添加org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m http://stackoverflow ...