黑马程序员_JavaSE基础11 之 异常 objcet类一些方法

----------------------      android培训java培训、期待与您交流!   ---------------------
JavaSE_10  笔记 
                                  Java语言基础之  异常 objcet类一些方法
 
1、 面向对象之 异常
异常:在运行时期发生的不正常情况。
异常类:描述不正常情况的类,通过面向对象的思想将具体的问题封装成的具体的类。在Java中用类的形式对不正常情况进行了描述和封装对象。
 
2、异常根据不正常问题能否处理分成两大类:
①一般不可处理异常:Error。
②可以处理异常:Exception。
③两着的父类
   Throwable :它及其所有的子类都具有可抛性,发生问题是应该让调用者知道并处理。其可抛性是通过throws throw 修饰类和对象,来体现的。
 
3、异常发生两种情况及其处理方式
①编译时对于异常的处理
   如果编译时函数内发生了异常,需要在函数上进行抛出声明,否则编译失败。
②调用了发生异常的函数,必须要处理,否则一样编译失败,处理方式之一就是抛出。
 
4、编译时是否检测异常的分类:
①编译时被检测异常:只要是Exception和其子类都是,除了特殊子类RuntimeException体系。这种问题一旦出现,就是希望这个问题在编译时就能检测到,并让此问题有对应的处理方式。
②编译时不检测异常,只有运行时会发生子类:就是Exception中的RuntimeException和其子类。这种问题发生时,是无法让功能继续,运算无法进行。通常是因为调用者的原因导致的。这种问题一般不处理,直接编译通过,只有在运行时,让调用者在调用该程序时强制停止。
③ 所以自定义异常时,要么继承Exception ,要么继承RuntimeException。
 
5、throws 和 throw 的区别
①throws使用在函数上;throw使用在函数内。
②throws抛出的是异常类,可以抛出多个,用逗号隔开;throw抛出的是异常对象。
 
6、异常处理的捕捉形式: try { } catch( 异常类 变量 ) ( ) finally { }
 
7、Object类的equals方法两种比较方式:
①因为比较的是对象,所以比较的是地址;功能类似于“==”。
②//比较年龄是否相同,复写的父类的方法,根据对象的具体内容,来建立判断对象是否相同的依据
	public boolean equals(Object obj)
	{
		if(!(obj instanceof Person)) //最好抛出异常, throw new ClassCastException(“类型错误”);
		{
			return false;
 
		}
		Person p=(Person)obj;
		return this.age==obj.age;
	}
 
8、Object类的hashCode方法:
  当equals方法被重写时,通常有必要重写hashCode方法,以此哈希码判断来声明对象必须具有相等的哈希码。
 
9、Object类的getClass方法,
Java中一切皆对象,用getClass方法获取的是,当前对象所属的字节码文件对象。
 
                                                                  2012/9/09     By  Mary_k
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值