一
API是什么?
API(Application Programming Interface,应用程序接口)是一些预先定义的接口(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定。用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。
程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。
二
Java API文档概述
Java API文档是Java编程语言的一部分,它是一组文档,提供了Java编程语言的标准类、接口、方法和属性的说明和示例。Java API文档通常包含在Java开发工具包(JDK)中,并可以通过Java编译器和Java虚拟机(JVM)使用。
简单的讲,API就是一个帮助文档,让您能快速了解Java的属性,方法。假如想对字符串进行操作,就可以去API中查看String的方法,里面会有每个方法的用法,返回值等等。Java API通过支持平台无关性和安全性,使得Java适应于网络应用。
Java API是运行库的集合,它提供了一套访问主机系统资源的标准方法。
运行Java程序时,虚拟机装载程序的class文件所使用的Java API class文件。所有被装载的class文件(包括从应用程序中和从Java API中提取的)和所有已经装载的动态库(包含本地方法)共同组成了再Java虚拟机上运行的整个程序。
在一个平台能够支持Java程序以前,必须在这个特定平台上明确地实现API的功能。为访问主机上的本地资源,Java API调用了本地方法。由于Java API class文件调用了本地方法,Java程序就不需要再调用它们了。
通过这种方法,Java API class文件为底层主机提供了具有平台无关性、标准接口的Java程序。对Java程序而言,无论平台内部如何,Java API都会有同样的表现和可预测的行为。正是由于在每个特定的主机平台上明确地实现了Java虚拟机和Java API,因此,Java程序自身就能够成为具有平台无关性的程序。
Java API在Java安全性模型方面也有贡献。当Java API的方法进行任何有潜在危险的操作(比如进行本地磁盘写操作)之前,都会通过查询访问控制器来检验是否得到了授权。访问控制器是一个类,该类用来执行栈检验,以决定是否允许某种操作。
三
Java类的组织形式
Java类的组织形式有以下几种:
单个源文件中定义一个类:在一个.java文件中定义一个公共类,该类的名称与文件名称相同。
多个源文件中定义多个类:可以在一个.java文件中定义多个非公共类,但只能有一个公共类,并且公共类的名称必须与文件名称相同。
内部类:在一个类的内部定义另一个类,可以是静态内部类、成员内部类、局部内部类或匿名内部类。
包:将相关的类组织在一起,形成包。可以使用package关键字来指定包名,可以使用import关键字引入其他包中的类。
这些组织形式可以根据开发需求和代码结构进行选择和使用。
四
常用API的使用
1、Scanner类
引用类型的一般使用步骤:
1)导包
import 包路径.类名称;
如果要使用的目标类,和当前类位于同一个包下,可以省略导报语句不写。
只有java.lang 包下的内容不需要导包,其他的包都需要import语句。
2)创建
类名称 对象名 = new 类名称();
Scanner sc = new Scanner (System.in);
3)使用
对象名.成员方法名()
获取键盘输入的一个int数字:int num = sc.nextInt();
获取键盘输入的一个字符串:String str = sc.next();
匿名对象
创建对象的标准格式:类名称 对象名 = new 类名称();
匿名对象就是只有右边对象,没有左边的名字和赋值运算符。
注意:匿名对象只能使用一次。
eg. new Person().name = “江疏影”;
2、Random类
1)导包
import java.util.Random;
2)创建
Random r = new Random(); //小括号中可以留空即可。
3)使用
获取一个随机的int数字(范围是int所有范围,有正负两种):int num = r.nextInt();
获取一个随机的int数字(参数代表了范围,左闭右开区间):int num = r.nextInt(3);
实际上代表含义是:[0,3) ,也就是0~2。
3、ArrayList类
数组的长度不可以发生改变。但是,ArrayList集合的长度是可以随意变化的。对于Array List来说,有一个尖括号代表泛型。
泛型:也就是装在集合中的所有元素,全部都是统一的类型。
注意事项:对于ArrayList集合来说,直接打印得到的不是地址值而是内容。如果内容为空,得到的是空的中括号[ ]。
ArrayList 当中常用的方法
- public boolean add (E,e):向集合中添加元素,参数的类型和泛型一致。返回值代表添加是否成功。
- public E get(int index) : 从集合中获取元素,参数是索引编号,返回值就是对应元素位置。
- public E remove(int index): 从集合中删除元素,参数是索引编号,返回值就是被删除掉的元素。
- public int size():获取集合的尺寸长度,返回值是集合中包含的元素个数。
4、static类
静态代码块的格式是:
public class 类名称{ static { // 静态代码块的内容 } }
特点:当第一次用到本类时,静态代码块执行唯一的一次。静态内容总是优先于非静态,所以静态代码块比构造方法先执行。
静态代码块的典型用途:用来一次性对静态成员变量赋值。
静态static关键字修饰的成员方法:
一旦使用static修饰成员方法,那么这就成为了静态方法,静态方法不属于对象,而是属于类。
- 如果没有static关键字,那么必须首先创建对象,然后通过对象才能使用它。
- 如果有static关键字,那么不需要创建对象,直接就能通过类名称来使用它。
无论是成员变量还是成员方法,如果有了static方法都推荐使用类名称进行调用。
- 静态变量:类名称.静态变量。
- 静态方法:类名称.静态方法();
注意:
- 静态(先)不能直接访问非静态(后);
- 静态方法中不能用this。
5、Arrays类
java.util.Arrays 是一个与数组相关的工具类,里面提供了大量的静态方法,来实现数组的常见操作。
public static String toString(数组):将参数数组变成字符串(按照默认格式:[元素1,元素2,元素3…]。
public static void sort(数组):按照默认升序(从小到大)对数组的元素进行排序。
6、Math类
java.util.Math类是数学想的工具类。
public static double abs(double num):获取绝对值,有多种重载
public static double ceil(double num):向上取整
public static double floor(double num):向下取整
public staticlong round(double num):四舍五入
Math.PI代表π。
对于Java开发者来说,熟悉并掌握Java API文档是非常重要的,可以提高开发效率和代码质量。在开发过程中,遇到问题或需要使用某个类时,可以先查阅相应的API文档,了解该类的功能和使用方式,从而更快地解决问题或完成开发任务。