java .final finally 和 finalize的区别,,,,throws 和 throw 的区别,,,异常在继承中的特点

来源:互联网 发布:棋盘覆盖算法 编辑:程序博客网 时间:2024/06/05 22:36
.final finally 和 finalize的区别


final:可以修饰类 不能被继承
修饰方法,不能被重写
修饰变量,只能赋值一次

finally: 是 try语句中的一个语句体 不能单独使用 用来释放资源 一定会执行

finalize: 是Object类中的一个方法,当垃圾回收器确定不存在该对象的等多引用时,垃圾回收器调用此方法


.异常在继承中的特点
1.子类重写父类方法时,子类的方法必须抛出相同的异常或者父类异常的子类异常
2.如果父类抛出了多个异常,子类重写父类时,只能抛出相同的异常或者父类异常的子类异常子类不能抛出父类没有的异常
3.如果被重写的方法没有异常抛出,那么子类的方法绝对不可以抛出异常 如果有异常 在方法内处理 



throws
用在方法声明上 跟的是异常类名
可以跟多个异常类名,用逗号隔开
表示抛出异常,由该方法的调用者来处理
throw
用在方法内,跟的是异常对象名
只能抛出一个异常对象名
表示抛出异常 由方法内部的语句处理
finally
被finally控制的语句体一定会执行
特殊情况 在执行finally之前 jvm退出了 (System.exit(1));
作用: 用于释放资源 i/o 数据库



原创粉丝点击