6.14课堂笔记之异常

实体内部类、匿名内部类

一个外部类对象拥有多个内部类对象,这些内部类对象共享此外部类对象的属性。

方法内部类或局部内部类,可以访问外部类的私有属性。
方法内部类对象里定义的方法,只能访问包含内部类方法的final类型的形参或final类型的局部变量。

没有特殊情况,不要使用内部类
内部类代码相对复杂,破坏了对象的封装性。
使得与外部类对象的耦合性增强。

静态内部类不能访问外部类的非静态属性


异常:

(error)错误、异常(编译异常、运行异常)
(error)错误:不能处理。

编译异常(IOException):外部资源问题,对这类问题有预案,通知用户,并使程序不终止,继续运行。解决不了(网络中断)。

运行异常(RuntimeException):先通过异常发现问题,然后通过异常信息,发现问题,解决问题。使运行异常在用户界面不出现。


6.14课堂笔记之异常


所有问题的父类为Throwable
所有异常的父类为Exception

流对象==管道
FileInputStream

throws不处理这个类型的异常
throw抛出异常

父亲不处理这个异常、儿子也不会处理这个异常
子类要复写父类的方法,比父类处理更多的异常,子类不处理的异常类<父类不处理的异常类


6.14课堂笔记之异常