Java 官方为开发者提供了很多功能强大的类,这些类被分别放在各个包中,随JDK一起发布,称为Java类库或Java API。

API(Application Programming Interface, 应用程序编程接口)是一个通用概念。

例如我编写了一个类,可以获取计算机的各种硬件信息,它很强大很稳定,如果你的项目也需要这样一个功能,那么你就无需再自己编写代码,将我的类拿来直接用就可以。但是,我的类代码很复杂,让你读完这些代码不太现实,而且我也不希望你看到我的代码(你也没必要也不希望读懂这些晦涩的代码),我要保护我的版权,怎么办呢?

我可以先将我的类编译,并附带一个文档,告诉你我的类怎么使用,有哪些方法和属性,你只需要按照文档的说明来调用就完全没问题,既节省了你阅读代码的时间,也保护了我的版权。例如,获取CPU信息的方法:
getCpuInfo(int cpuType);
这就是一个API。也就是说,该文档中描述的类的使用方法,就叫做API。

我也可以开发一个软件,用来清理计算机中的垃圾文件,我比较有公益心,希望让更多的开发人员使用我的软件,我就会在发布软件的同时附带一个说明文档,告诉你怎样在自己的程序中调用,这也叫做API。

Java API也有一个说明文档,入口地址:http://www.oracle.com/technetwork/java/api

选择对应版本的Java,点击链接进入即可。J2SE 1.7 的API地址为:http://docs.oracle.com/javase/7/docs/api/

这个文档是在线的,官方会随时更新。当然你也可以下载到本地,请大家自己百度怎么下载。

打开J2SE 1.7 的API文档,如下图所示:


图1  API 文档

Java类库中有很多包:

  • 以 java.* 开头的是Java的核心包,所有程序都会使用这些包中的类;
  • 以 javax.* 开头的是扩展包,x 是 extension 的意思,也就是扩展。虽然 javax.* 是对 java.* 的优化和扩展,但是由于 javax.* 使用的越来越多,很多程序都依赖于 javax.*,所以 javax.* 也是核心的一部分了,也随JDK一起发布。
  • 以 org.* 开头的是各个机构或组织发布的包,因为这些组织很有影响力,它们的代码质量很高,所以也将它们开发的部分常用的类随JDK一起发布。

在包的命名方面,为了防止重名,有一个惯例:大家都以自己域名的倒写形式作为开头来为自己开发的包命名,例如百度发布的包会以 com.baidu.* 开头,w3c组织发布的包会以 org.w3c.* 开头,微学苑发布的包会以 net.weixueyuan.* 开头……

组织机构的域名后缀一般为 org,公司的域名后缀一般为 com,可以认为 org.* 开头的包为非盈利组织机构发布的包,它们一般是开源的,可以免费使用在自己的产品中,不用考虑侵权问题,而以 com.* 开头的包往往由盈利性的公司发布,可能会有版权问题,使用时要注意。

java中常用的几个包介绍:

包名 说明
java.lang 该包提供了Java编程的基础类,例如 Object、Math、String、StringBuffer、System、Thread等,不使用该包就很难编写Java代码了。
java.util 该包提供了包含集合框架、遗留的集合类、事件模型、日期和时间实施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。
java.io 该包通过文件系统、数据流和序列化提供系统的输入与输出。
java.net 该包提供实现网络应用与开发的类。
java.sql 该包提供了使用Java语言访问并处理存储在数据源(通常是一个关系型数据库)中的数据API。
java.awt 这两个包提供了GUI设计与开发的类。java.awt包提供了创建界面和绘制图形图像的所有类,而javax.swing包提供了一组“轻量级”的组件,尽量让这些组件在所有平台上的工作方式相同。
javax.swing
java.text 提供了与自然语言无关的方式来处理文本、日期、数字和消息的类和接口。

更多的包和说明请参考API文档。

大数据零基础快速入门教程

Java基础教程

Java语法基础
1. Java数据类型以及变量的定义
2. Java数据类型转换
3. Java运算符
4. Java流程控制
5. Java数组的定义和使用
6. Java StringBuffer与StringBuider
7. 强调一下编程风格

Java类库及其组织结构(Java API)相关推荐

  1. ​2019年排名Top 100的Java类库——在分析了30073份源码之后得出的结论

    △Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 246篇原创分享 作者 l Hollis 来源 l Hollis(ID:hollischuang) 最近,OveOps公布 ...

  2. Java怎么打开TMX,TMX 的 Java 类库 Otter TMX

    授权协议: Apache 开发语言: Java 操作系统: 跨平台 软件介绍 Otter 是一个用于读写 Translation Memory Exchange (TMX) 文档的 Java 类库.要 ...

  3. 易语言java支持库用法,Java支持库2.0#0版

    资源介绍: 易语言Javalib.fne支持库中文名为易语言Java支持库,本易语言支持库使易语言具备了访问Java类库的能力."Java虚拟机"和"Java本地接口&q ...

  4. Java核心类库之(常用API、字符串类、集合类、泛型)

    目录 1 常用API 1.1 Math类 1.2 System类 1.3 Object类 1.4 Objects类 1.5 Arrays类 1.6 基本类型包装类 1.6.1 Integer类概述和使 ...

  5. 从Java类库看设计模式

    //From http://www.uml.org.cn/j2ee/201010214.asp 很多时候,对于一个设计来说(软件上的,建筑上的,或者它他工业上的),经验是至关重要的.好的经验给我们以指 ...

  6. 2018年排名Top 100的Java类库——在分析了277,975份源码之后得出的结论

    最近,OveOps公布了The Top 100 Java Libraries in 2018 - Based on 277,975 Source Files,Hollis查看了这份榜单,做了翻译和补充 ...

  7. 【java】简述CGLIB常用API

    1.概述 转载:简述CGLIB常用API 类似:[Spring]CGLIB动态代理 CGLIB,即Code Generation Library,是一个强大的.高性能的代码生成库.其被广泛应用于AOP ...

  8. java 识别图片 边框_atitit.验证码识别step3----去除边框---- 图像处理类库 attilax总结java版本...

    atitit.验证码识别step3----去除边框----图像处理类库 attilax总结java版本 1. 去除边框思路原理 图像裁剪::从图片的Positions.CENTER,wid,hit)裁 ...

  9. java类库geotools_Geotools是一个java类库

    Geotools是一个java类库,它提供了很多的标准类和方法来处理空间数据,同时这个类库是构建在OGC标准之上的,是OGC思想的一种实现.而OGC是国际标准,所以geotools将来必定会成为开源空 ...

最新文章

  1. Flask web开发之路四
  2. 异常导致循环退出_Java异常有哪些?异常怎么处理?
  3. python自带库处理excel-python处理excel之第三方库openpyxl
  4. Ubuntu14.04设置PATH环境变量(一)
  5. 处女座和小姐姐(三)
  6. python查看opencv版本命令行_查看python下OpenCV版本的方法
  7. 算法-二分搜索-找出最大值和最小值
  8. 软件工程(总体设计②设计原理)
  9. mac 上brew加速
  10. vue中 点击事件的写法_vue基础之事件v-onclick=函数用法示例
  11. 联想打印机 linux驱动怎么安装步骤,如何在MAC系统下安装打印机驱动
  12. ANDROID开机动画分析
  13. 别想着复制别人的路!
  14. 如何用淘宝客为淘宝店铺引流
  15. 2022-2023年度的AMC数学竞赛报名时间来了
  16. 简单图(simple graph)原理及实现(Java)
  17. uva - 123 - Searching Quickly
  18. 【python】数据挖掘分析清洗——离群点(异常值)处理方法汇总
  19. ResNeSt: Split-Attention Networks(ResNet改进版本)
  20. Cadence allegro 17.4 PCB DRC检查

热门文章

  1. 仿Expandablelistview效果的ListView(加入了子列表渐入渐出的动画)
  2. 在Tomcat中部署seam工程
  3. 访问Webservice错误
  4. Python学习笔记:常用内建模块5
  5. CPU寻址过程方框图
  6. 心电图多少为正常范围_研究:心跳超过70次/分,至少减寿3年!正常心率范围是多少?...
  7. [云炬学英语]每日一句2020.8.26
  8. [C++调试笔记]执行声明的读写文件操作
  9. 特征层次分析、视觉特征语义探索(微调+预训练)
  10. [OS复习]进程管理2