1 Object类

Object类是所有类的父类(超类);

2.1 equals方法

Object类中的这个equals方法是比较两个对象的地址是否相同的;就相当于使用==比较两个对象;
boolean equals(Object obj):
使用当前对象与传递过来的对象进行比较,看地址是否一样,如果一样就返回true,否则返回false;

2.2 toString方法

toString方法返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值(是个十六进制的数字).

2异常

Throwable类是java中异常体系结构中最顶层的异常类,是所有异常类的父类;
Throwable类可以抛出异常信息;

2.1 Throwable类分为两种:

  1. (1)Error错误:<br />是程序中出现的非常严重的问题,不修改代码,问题解决不了;<br />例如: java.lang.OutOfMemoryError: Java heap space 堆内存溢出;<br /> (2)异常Exception:<br />是程序中出现的一般的问题,稍微处理一下问题就解决了;<br />通常说的异常指定的是Exception.<br /> 1)运行时异常RuntimeException:在代码运行时才抛出的异常;<br /> 在编译阶段不会报错,可以不处理;<br /> 2)编译时异常:在编写代码编译阶段抛出来的异常;<br /> 在编译阶段会报错,必须处理;<br />可以通过抛出的异常的类名的后缀来判断是否异常还是错误;

2.2 自己抛出异常对象:

在需要抛出异常对象位置,创建一个异常对象,向外抛;<br />    使用throw关键字:<br />        throw new ArrayIndexOutOfBoundsException("5");

2.3处理异常有两种方式:

1.捕获式处理:自己捕获异常自己处理异常<br />        使用try...catch..代码看包裹住可能会出现异常的代码;<br />格式:
try{
    需要检测的异常;
} catch(异常对象) {
    异常处理代码
    可以调用异常的方法
    通常我们只使用一个方法:printStackTrace打印异常信息
 } catch(异常对象) {
    异常处理代码
    可以调用异常的方法
    通常我们只使用一个方法:printStackTrace打印异常信息
}finally{
    始终都会被执行的代码
}
声明抛出处理,出现异常后不处理,声明抛出给调用者处理。
            方法声明上加throws  异常类名

注意:异常处理,指处理的一种可能性,即有了异常处理的代码,不一定会产生异常。如果没有产生异常,则代码正常执行,如果产生了异常,则中断当前执行代码,执行异常处理代码。
    如果try代码块抛出了异常,catch代码块中的代码会被执行;
    如果try代码中的代码没有抛出异常,catch代码块中的代码不会被执行;
    finally代码块始终都会被执行(finally代码块可有可无)
    在使用多个异常一次捕获多次处理的时候:在多个catch代码块中要保证,上面的异常类是子类或者与下面的异常类没有继承关系,如果想使用一个catch代码块代替这两个catch代码块,需要使用父类作为异常类名
2.声明式处理异常:<br />        在方法的小括号后面,使用throws 声明需要抛出的异常:<br />        修饰符 返回值类型 方法名(参数列表)  throws 异常名1,异常名2,...{<br />          ...<br />        }<br />          意思是说这个方法把异常向外抛出,谁调用这个方法,谁来处理这个异常;

2.4 自定义异常类

原因:<br />        JDK里面定义的异常类名字太长,难学.<br />    怎么自定义异常类?<br />        参考系统定义异常类的步骤:<br />            1.定义一个类继承异常父类;<br />            2.在异常类中添加构造方法;<br />            3.在构造方法中调用父类的构造方法;<br />JVM虚拟机不会自动创建自定义异常对象, 是需要程序员自己创建异常对象往外抛的.<br />以后看异常信息,从上往下看,往往第一次出现自己代码的那一行就是抛出异常的地方.