01.面向对象(异常-finally)
finally中存放的是一定会被执行的代码。
实例:连接数据库时,无论数据库操作是否完成,是否出现异常,数据库都要断开连接,这个断开连接就应该放在finally里。
finally代码块:一定执行得代码。通常用于关闭资源。否则电脑的运行压力非常大。
02.面向对象(异常-处理语句其他格式)
第一种:
try
{
}
catch()
{
}
第二种:
try
{
}
catch
{
}
第三种:
try
{
}
finally
{
}
每一种都可以有多个catch,catch里面怎么写都可以,里面还可以有try-catch。
记住一点:catch是用于处理异常的,如果没有catch,异常就没有被处理过,如果该异常是检测异常,那么必须声明。
03.面向对象(异常-覆盖时的异常特点)
异常在子父类覆盖中的特点:
1.子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常或者该异常的子类。
2.如果父类方法抛出多个异常,那么子类再覆盖该方法时,只能抛出父类父类异常的子集。
3.如果父类或者接口的方法中没有异常抛出,那么子类再覆盖方法时,也不可以抛出异常。如果子类方法中发上了异常,那么必须进行try处理,绝对不能抛。
07.面向对象(包package)
对类文件进行分类管理
给类提供多层命名空间
包名的所有字母小写
package pack;
有了包以后,类名就变了,成了:包名.类名
编译带包的类时:javac -d . 类名.java
-d后面的点代表当前目录,也可以指定别的目录。
包的出现可以让java的源文件和运行文件分离。
08.面向对象(不同包之间的访问)
总结:
包与包之间进行访问,被访问的包中的类以及类中的成员要被public修饰。
不同包中的子类还可以访问父类中被protected修饰的成员。
包与包之间可以访问的权限只有两种。
权限:
public protected default private
同一类中 ok ok ok ok
同一包中 ok ok ok
子类 ok ok
不同包中 ok
子类方法要覆盖父类方法时,权限只要大于等于,才会产生覆盖。
一个java文件中不能产生两个及两个以上的带public修饰的公有类。
09.面向对象(导入imprt)
为了简化类名的书写,就使用一个关键字import。
import pack1.*;导入pack1包中的所有类。
建议不要写通配符*号,需要用到包中的哪个类,就导入哪个类。
当导入的不同包中的类出现重名时,建立类对象时必须写包名。
建立定义包名不要重复,可以使用url来定义。
10.面向对象(jar包)
java的压缩包(jar):
方便项目的携带,方便与使用,只要在classpath设置jar的路径即可。