------- android培训、java培训、期待与您交流! ----------
异常:
问题也是现实生活中一个具体事物也可以通过Java类的形式描述,并进行封装。其实就是Java对不正常问题的描述的对象体现。
严重问题,Java通过error类进行描述。对于error一般不编写代码进行处理。
对于非严重问题,java通过Exception进行针对处理。
无论是Error还是Exception都具有共性,所以向上抽取。
他们就会有一个父类 Throwable
|--------Error
|--------Excepiton
异常处理
Java提供了特有的语句异常处理
try{
需要被检测点代码;
}catch(异常类 变量){
处理异常的代码;(处理方式)
}finally{
一定会被执行的语句:(比如关闭)
}
获取异常的信息 getMessage();
处理异常的方式:
1、通过throws 声明式抛出异常。
2、通过try catch自己捕捉处理。
自定义异常:
如果自定义异常信息?因为父类已经把异常信息的操作都做完了。
所以子类直接通过super(message)就可以调用父类的构造方法。
自定义异常继承Exception的原因,只有继承Exception才可以使用throws 和 throw关键字。
throws和throw的区别
throws使用在函数上面,不是函数体里面。
throw使用在函数内部
throws后面跟的是异常类,可以跟多个。
throw后面跟的一个异常对。
RuntimeException运行时异常。
如果在函数内抛出了这种类型的异常,函数上面可以不声明,也可以编译通过。
如果在函数上面声明了该异常,调用者可以不用进行异常和处理,也可以编译通过。
之所以不用函数声明,是因为不需要让调用者处理,但该异常发生,希望程序停止。因为在运行时
出现了无法继续运算的情况,程序必须停止。对代码进行修改。
如果发生自定义异常,无法再继续进行运算,就让自定义异常继承runtimeExcepiton、、
finally有一直方法不支持 System.exit(0);
子类覆盖父类的时候,
1、子类抛出的异常只能是父类异常的子类或者子集
2、如果父类或着接口没有抛出异常,那么子类就必须try catch异常 而不能直接抛出异常。
包-----package
1、对类文件进行分类管理。
2、给类提供多层次命名空间。
3、写在程序文件的第一行。
4、类名的全称是 包名.类名。
5、包也是一种封装。
包的总结
包与包之间进行访问,被访问的包中的类以及类的成员,需要public修饰。
不同包的子类还可以直接访问父类中被protected权限修饰的成员。
包与包之间只有两种权限 public protected(子类访问父类)
public protected default private
同一个类中 yes yes yes yes
同一个包中 yes yes yes no
子类 yes yes no no
不同包中 yes no no no