来,继续啊,我们在讲解面向对象的时候,提到了学习面向对象重点就是学习两块内容:
第一块:学习如何自己设计对象并使用
第二块:学习获取已有对象并使用
而关于第一块知识:学习如何自己设计对象并使用,我们现在已经有一些基础了。
通过前面的学习呢,我们知道了如何定义类,并通过构造方法创建对象,然后通过对象使用成员变量和成员方法。
接下来,我们要学习的是第二块知识:获取已有对象并使用。而获取已有对象并使用呢,在Java中我们习惯称之为常用API的学习。
所以下面我们来学习常用API。首先,我们来说一下什么是API:
那如何理解应用程序编程接口呢?这里我们通过下面的场景给大家解释一下。
看这里,我想编写一个机器人踢足球的程序,那么程序就要向机器人发出向前跑、向后跑、射门、抢球等各种命令。
如果我自己来编写呢,就会比较麻烦,因为机器人不是我设计的。所以,为了方便其他的开发者使用机器人,
机器人厂商呢就会提供一些用于控制机器人的类,这些类中会定义好操作机器人各种动作的方法。
有了这些类之后,开发一个机器人踢足球的程序就会非常的方便了。
其实,这些类就是机器人厂商提供给开发者的应用程序编程接口,而这些类我们称之为:API
知道了什么是API之后呢,我们来说一下,Java的API。
这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,
为了帮助我们使用这些类,Java还提供了对应的帮助文档。我们可以通过帮助文档来学习这些API如何使用
下面呢,我们一起来学习一下帮助文档的使用:
要想使用帮助文档,首先我们得有一个帮助文档:来,打开课程资料下面,我们这里有一个帮助文档。
这个文档对应的是JDK11版本的,是目前比较新的中文版的帮助文档。
有了文档之后呢,我们来打开帮助文档。
文档打开后,找到索引这里,下面有一个输入框,在这个框框里输入我们要学习的API。
这里,我们拿字符串类做一个说明:在这个框框里面我们输入:String,然后一回车,看到一个新的界面
这个界面中,就是关于String相关的知识了。
接着,我们来说一下,在学习一个API的时候,我们重点要看四个地方:
第一个地方:看类所在的包
为什么要看这里呢,因为java.lang包下的类,我们是可以直接使用的,不需要导包。
其他包下的类,我们都是要导包后才能使用的,至于如何导包,下个知识我们会讲解。
很明显,String类在使用的时候,我们是不需要导包的。
第二个地方:看类的描述
也就是看这里,这里一般描述了类是干什么的。
比如说:String类表示字符串。 Java程序中的所有字符串文字(例如"abc" )都实现为此类的实例。
告诉了我们String就是用来表示字符串的类,直接写一个字符串数据:abc就是String类的一个对象。
第三个地方:看类的构造方法
往下滑,这就是String类的构造方法,为什么要看构造方法呢?因为我们在使用一个类的时候,其实使用的是该类的对象,
而创建对象,我们是需要通过构造方法实现的,所以,我们得看看它提供了哪些构造方法。
这里的构造方法提供的比较多,至于用哪个,后面我们用到的时候再讲解,目前知道看哪里就行了 第四个地方:看类的成员方法
这是我们学习一个API的重点,我们之所以学习一个API,重点就是为了使用该API来完成某些功能。
而API的功能,都是通过一个个方法实现的,所以我们重点得看看类的成员方法。往下滑,这就是String提供的成员方法,有很多。
而一个方法,我们重点又看什么呢?回到第一个方法,我们说一下:
先看描述,通过描述,我们就知道了方法是干什么的。
再看方法名和参数,这样我们就知道调用哪个方法,以及参数的类型和个数。
最后,我们看返回值类型,这样我们就知道调用该方法后,最终给我们返回了一个什么类型结果
通过这些步骤,我们就知道了所学习的API该如何使用了,然后就可以到IDEA中去使用API了。
知道了帮助文档的使用步骤后,回到资料我们总结一下帮助文档的使用流程:
① 打开帮助文档
② 找到索引选项,输入要学习的API,然后回车
③ 看类所在包:因为java.lang包下的类在使用的时候不需要导包
④ 看类的描述:这样我们就知道了类是干什么的
⑤ 看类的构造方法:这样我们就可以创建对象了
⑥ 看类的成员方法:这样我们就可以通过这些方法完成某些功能了
知道了什么是API,以及通过帮助文档如何学习API后,我们来说一下常用API这部分内容的课程安排:
首先,我们学习一下包和导包的基本概念和操作,为API的使用做一个基础铺垫
接着我们来学习两个API:Scanner和Random
Scanner:是用来实现键盘录入数据的
Random:是用来产生随机数的
通过这两个API的学习,可以让我们熟悉帮助文档的使用
再接着我们来学习GUI相关的API,这里不是一个API的学习,而是多个API的学习,通过这部分内容的学习,可以让我们的操作可视化,也就是有界面了,不在仅仅是在控制台输出数据了。
最后,我们学习这几个API,学习这几个API的目的,是为了完成我们在GUI部分未完成的案例。
好了,到此关于API概述和常用API的课程安排我们就先讲到这里
来,继续啊,下面我们来学习一下,包和导包。
那什么是包呢?
包的定义格式:
知道了如何定义包之后,下面我们来定义两个包,并且在不同包下定义同名的类。
xpackage com.itheima_01;
public class Student {
public void study() {
System.out.println("好好学习天天向上");
}
}
xxxxxxxxxx
package com.itheima_01;
public class StudentTest {
public static void main(String[] args) {
Student s = new Student();
s.study();
}
}
xxxxxxxxxx
package com.itheima_02;
public class StudentTest {
public static void main(String[] args) {
com.itheima_01.Student s = new com.itheima_01.Student();
s.study();
com.itheima_01.Student s2 = new com.itheima_01.Student();
s2.study();
}
}
在这里我们讲解了同一个包下类的使用,以及不同包下类的使用。发现不同包下类的使用太麻烦了,所以,这个时候,我们就要学习一下导包了。
使用不同包下的类时,使用的时候要写类的全路径,写起来太麻烦了。
为了简化带包的操作,Java就提供了导包的功能。
导包的格式:
知道了如何导包后,我们再来修改一下不同包下类的使用代码:
xxxxxxxxxx
package com.itheima_02;
import com.itheima_01.Student;
//Alt+Enter 快捷键导包
public class StudentTest {
public static void main(String[] args) {
Student s = new Student();
s.study();
Student s2 = new Student();
s2.study();
// com.itheima_01.Student s = new com.itheima_01.Student();
// s.study();
//
// com.itheima_01.Student s2 = new com.itheima_01.Student();
// s2.study();
}
}
在这里我们讲解了导包的三种方式:
讲解完毕后,大家赶快动手练习一下吧。