需求:有一些特定的代码无论异常是否发生,都需要执行;因为异常会引发程序跳转,导致有些语句执行不到,无法满足这个需求;finally就是解决这个问题的,这个代码块中的代码都是一定会被执行的。
finally什么时候用?
只要程序中使用到了具体的资源(数据库连接,IO资源,网络连接socket等)需要释放,都必须定义在finally中。
try catch finally 组合方式:
try catch : 对代码进行异常检测,并对检测的异常传递给catch处理。
异常捕获处理。
void show()//不用throws
{
try{
throw new Exception();
}catch(Exception e)
{
}
}
2,try finally : 对代码进行异常检测,检测到异常后因为没有catch,所以一样会被默认jvm抛出。
异常是没有捕获处理的。但是功能所开启资源需要进行关闭,所有finally。
只为关闭资源。
void show()//需要throws
{
try{
throw new Exception();
}finally
{
}
}
3,try catch finally
检测异常,并传递给catch处理,并定义资源释放。
4,try catch1 catch2 catch3......
对于多个类为了便于管理(类的同名情况);所以Java提供了一个解决方案,包机制,落实到操作系统上,就是文件夹,对Java的文件进行文件夹管理。
包的作用:1,对类问及那进行管理 2,给类文件提供了名称空间,
包的定义:使用关键字 package
访问:
包与包之间的类在访问时,被访问的类以及成员都必须public修饰。
注意:被public修饰的类或者接口,所属的java文件名必须和类或者接口名称一致。
包与包之间继承。父类可以给其他包中的子类提供一个特殊的权限 protected。只有继承为子类后,
就可以访问的权限。
public protected default private
一个类中 okok ok ok
一个包中 okok ok
子类中 ok ok
不同包中 ok
包与包之间访问只有两种权限可以用,public protected(该权限只能给不同包中的子类使用)。
import关键字。
作用:简化类名书写。
如果不同包中有相同的类同时被导入,使用时必须明确包名。
建议导入一个包中多个类时,不用通配符,而是按照具体类名导入。