内部类:
内部类可以随意访问外部类的成员方法,包括私有成员。
在其他类中如果需要引用内部类的话,不能按平时那样直接声明
在其他类中是看不见内部类的,所以用内部类声明对象的时候,需要
Outer.Inner inner = out.getInner();
在其他类,直接用外部类声明对象,
Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();内部类直接声明一个对象必然与一个外部类对象相关联。
把类定义为函数内部,那么仅仅只可以在这个函数内部使用这个内部类,外面是不能够访问到的。
不管内部类的嵌套层次多深,多都可以随意访问外部类。
将内部类定义在函数里面,那么如果内部类需要访问函数的局部变量,那么需要将局部变量定义为final类型,如果不是编译器将会报错,如果内部类不需要访问,那么就不需要将局部变量设置为final。
内部类可以声明为abstract,final,protected,static,private
异常
异常和错误两个抛出
Try
{
}
Cathch(Execption e)
{
e.toString();
e.getStackTrack();
e.getMessage();
}
Final
{
}
如果自己不想去处理异常,可以抛出异常,把异常给调用者来处理,如果调用者不处理,那么也要把这个异常抛出,throw,一级一级往上。如果main函数不处理,那么抛出异常,留给java runtime系统处理。
Throws Execption
Throw 加上一个异常实例对象
无论异常发生与否,finally最后都会执行。无论catch中是否有return
如果你想立即终止运行,那么调用System.exit(-1),那么finally语句最终代码就不会再执行了!