目录
1、什么是API ?
1.API(Application ProgrammingInterface,应用程序编程接口)
2.Java中的API
指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。
比如:生成随机数、控制台输出、字符串 等 JDK官方提供了一些类库
例如:
1.System.out.println("mayikt");
2.Scanner scanner = new Scanner(System.in);
3.new Random(); nextInt
4.String
..... 等
Random随机数字生成API
import java.util.Random;
public class API_test01 {
public static void main(String[] args) {
/**
* 在java中,官方定义很多api让我们调用使用
*/
//生成随机数 -- Random
Random random = new Random();
//random随机生成的数字都是减去一的!
int i = random.nextInt(101); //只会生成0-100之内的随机数字
System.out.println(i);
//想看Random底层代码快捷键 --- ctrl + 鼠标左键(点击即可!)
}
}
2、Object类
public class API_test02 extends Object {
/**
* 1、在我们类没有继承其他类的时候、则当前该类 默认简介继承了我们的object类作为父类
* 2、在我们Object类中有一个无参构造
* 3、clone() 克隆方法(复制对象)
* 4、equals(Object obj) (比较两个对象是否相等)
* 5、finalize() --- jvm垃圾回收机制
* 6、getClass -- 获取该对象的class
* 7、hashCode() --- HashMap 集合
* 8、多线程:notify()、notifyAll()、wait()、wait(long timeoutMillis)
* 多线程:synchronized 多线程之间的通讯
*
*9、toString()
*/
}
object类是所有类的父类!
3、equals方法
在equals方法中,Q1.equals() Q1是需要有值的!如果Q1是null(空值),程序会报错!
Q1.equals(q1)
equals方法是作比较的方法!也就是Q1和q1相比较! 前提是我们重写了equals方法!!
在Java中,equals()方法是Object类的一个方法,它用于判断两个对象是否相等。默认情况下,equals()方法比较的是对象的引用,也就是判断两个变量引用是否指向同一个对象。
但是,对于许多类来说,我们希望可以通过自定义的方式来判断两个对象是否相等。为了实现这一点,我们需要在自定义类中重写equals()方法。
具体来说,我们需要重写equals()方法来根据我们的需求,定义两个对象相等的条件。一般情况下,我们通过比较对象的属性来判断对象是否相等。
重写equals()方法时,需要注意以下几点:
1. equals()方法必须具有与Object类中的equals()方法相同的签名,即public boolean equals(Object obj)。
2. equals()方法必须重写hashCode()方法,以保持一致性。
3. equals()方法必须满足以下条件:
- 自反性:对于任意非null的引用值x,x.equals(x)必须返回true。
- 对称性:对于任意非null的引用值x和y,如果x.equals(y)返回true,则y.equals(x)也必须返回true。
- 传递性:对于任意非null的引用值x、y和z,如果x.equals(y)返回true,并且y.equals(z)也返回true,则x.equals(z)也必须返回true。
- 一致性:对于任意非null的引用值x和y,多次调用x.equals(y)的结果必须一致,前提是对象上 equals() 方法中所用的信息没有被修改。
- 对于任意非null的引用值x,x.equals(null)必须返回false。
另外,还可以使用Java中的工具类,如Objects.equals()方法,来避免进行null检查和类型检查。这个方法会处理null的情况,并且可以处理不同类型的对象比较。
总而言之,equals()方法是用来判断两个对象是否相等的方法,在自定义类中,你需要根据自己的需求来重写equals()方法。
4、内存中的比较方法
5、instanceof 关键字
判断该对象引用是否是为该类型(自身类、自身类父类、object)都是直接返回true
其他的情况 都是返回false