Java的常见api以及异常情况-1

目录

1、什么是API ?

2、Object类

3、equals方法

4、内存中的比较方法

5、instanceof 关键字

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


  • 21
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值