1. final, finally, finalize, 垃圾收集器
final: 表示常量
finally: 和try-catch一起使用,在return前调用
finalize: 在Object中定义,虚拟机在进行垃圾回收前必须要调用的函数。finalize()最有用处的地方之一是观察垃圾收集的过程.
垃圾收集器存在的唯一原因是为了回收程序不再使用的内存.
2. 内部类和匿名类以及影响
静态内部类:只能引用外部类的static成员,其他同静态类。
非静态内部类:
a. 在一个类(A)内部定义的类(B),能够访问权限同该类(A);
b. 内部类(B)可以根据需要定义为private、public等,具有同外部内相同的访问权限;
c. 内部类(B)的创建必须通过外部类(A)的实例进行,e.g. A.new B();
c. 如果在方法内部声明,不能访问方法的局部变量和参数,除非它们被初始化成final。
匿名类:
a. 匿名类是没有名称的类。在创建时,作为new语句的一部分来声明它们:
new <类或接口> <类的主体>
这种形式的new语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一个给定的接口。它还创建那个类的一个新实例,并把它作为语句的结果而返回。要扩展的类和要实现的接口是new语句的操作数,后跟匿名类的主体。
b. 如果匿名类对另一个类进行扩展,它的主体可以访问类的成员、覆盖它的方法等等,这和其他任何标准的类都是一样的。如果匿名类实现了一个接口,它的主体必须实现接口的方法。
c. 匿名类本质上是应用程序类的一个内部类,它们具有和方法内部声明的非静态内部类一样的权限和限制;
影响:好像在打混淆包时,增加文件个数??待