面向对象——Object类、异常学习笔记
来源:互联网 发布:李雨桐和薛之谦 知乎 编辑:程序博客网 时间:2024/04/29 02:19
equals方法:一般会覆盖此方法,根据对象的特有内容,建立判断对象是否相同的依据。
equals和==的异同:
1、共同点:都可以做比较,返回值是boolean;
2、区别:
(1)==是比较运算符,既可以比较基本数据类型,也可以比较引用数据类型,基本数据类型比较的是值,引用数据类型比较的是地址值。
(2)equals方法只能比较引用数据类型,(因为是方法,所以由对象来调用)equals方法在没有重写之前,比较的是地址值,底层依赖的是==号,但是比较地址值
是没有意义的,我们需要重写equals方法
hashCode方法:返回该对象的哈希值,一般会覆盖此方法
getClass方法:返回此object的运行时类
toString方法:返回该对象的字符串表示,一般会覆盖此方法
异常:在运行时发生的不正常情况
在java 中用累得形式对不正常的情况进行了描述和封装,描述不正常情况的类,就称为异常类。以前正常流程代码和问题处理代码相结合,现在将正常流程
和问题处理代码分离,提高阅读性。其实异常就是Java通过面向对象的思想将问题封装成了对象,用异常类对其进行了描述。不同的问题用不同的类进行描述
比如角标越界,空指针等等。问题很多,意味着描述的类也很多。将其共性向上抽取,形成了异常体系。最终问题(不正常情况)分成两大类:
Throwable:无论是error,还是异常,问题发生就应该可以抛出,让调用者知道并处理,该体系的特点在于Throwable及其所有的子类都具有可抛性
可抛性其实是通过两个关键字来体现:Throws Throw凡是可以被这两个关键字所操作的类和对象都具有可抛性
1、一般不可处理的,Error
特点:是由jvm抛出的严重性问题,这种问题发生一般不针对性处理,直接修改程序
2、可以处理的,Exception
该体系的特点:子类的后缀名都是用其父类名作为后缀,阅读性很强
自定义异常:例如,自定义负数角标异常
注意:要定义一个异常类,必须要让其继承异常体系,因为只有异常体系的子类才有被抛出性。才可以被两个关键字操作
异常的分类:
1、编译时被检测异常:只要是Exception和其子类都是,除了特殊子类RuntimeException体系,这种问题一旦出现,希望在编译时就进行检测,让这种问题
有对应的处理方式。这样的问题都可以针对性的处理。
2、编译时不检测异常(运行时异常):就是Exception中的RuntimeException和其子类
这种问题发生,无法让功能继续,运算无法进行。更多是因为调用的原因导致的或者引发了内部状态的改变导致的,
那么这种问题一般不处理,直接编译通过,在运行时,让调用者调用时的程序强制停止,让调用者对代码进行修正。
因此自定义异常时,要么继承Exception,要么继承RuntimeException。
throws和throw的区别
1、throws使用在函数上,throw使用在函数内
2、throws抛出的是异常类,可以抛出多个,用逗号隔开。throw抛出的是异常对象
异常捕捉:
、
异常多catch情况:如果多catch情况,其中有捕获父类异常对象,那么该catch模块,一定要放在最下面
异常处理原则:
finally代码块:通常用于关闭资源
异常应用:
异常的注意事项:
1,子类在覆盖父类方法时,父类的方法如果抛出了异常,
那么子类的方法只能抛出父类的异常或者该异常的子类。
Exception
|--A
|--B
|--C
class Fu
{
void show()throws A
{}
}
class Zi extends Fu
{
void show()throws A//B或者不抛异常
{
}
}
2,如果父类抛出多个异常,那么子类只能抛出父类异常的子集。
简单说:子类覆盖父类只能抛出父类的异常或者子类或者子集。
注意:如果父类的方法没有抛出异常,那么子类覆盖时绝对不能抛,就只能try .
interface Inter
{
void function();
}
class D implements Inter
{
public void function()//这时就只能try
{}
}
- 面向对象——Object类、异常学习笔记
- (16)Java学习笔记——面向对象09——Object类
- java学习笔记《面向对象编程》——异常处理
- 面向对象—Object
- java笔记——面向对象异常
- 面向对象笔记(Object)
- 面向对象——Object类
- 【学习笔记16】java面向对象-异常
- 面向对象——object
- (15)Java学习笔记——面向对象08——异常
- Object-C学习笔记二-----面向对象编程基础知识
- 【Java】Java学习笔记之一 ----面向对象(Object-Oriented)
- 面向对象-Object类
- 面向对象--Object类
- C++学习笔记——面向对象
- 学习笔记1—面向对象
- 面向对象——异常
- 面向对象——异常
- 跨域资源共享 CORS 详解
- maven pom.xml配置
- DAE品牌发动机都给我们带来过哪些惊喜
- strange IOC框架 塔防游戏实例应用 (二)
- 每个程序员都应该了解的内存知识2——CPU 高速缓存
- 面向对象——Object类、异常学习笔记
- 输出
- APP安全报告第十期:部分美图类APP存在窃取用户隐私数据的风险!
- <meta name="viewport" content="width=device-width, initial-scale=1">
- 计时器问题的区别和清除
- linux irqdebug
- java NEW一个对象之后加入大括号
- mbigen的domain匹配
- oracle 数据库恢复