static关键字
static关键字可以用于修饰一个类中属性,方法,以及内部类,被static修饰的以上元素称为:静态属性,静态方法,静态内部类;被static修饰的元素与对象无关(在使用时无需创建对象,使用对象调用),他们直接与类相关,在调用时只需要通过“类名.*”调用
被static修饰的元素的生命周期会延长,导致消耗内存,在类加载时所有的static元素会首先初始化,而且永远只会初始化一次。
注意事项
不允许在static语句块中调用非static的元素(因为static元素初始化时对象还不存在)
构造器不允许使用static
final、finally、finalize区别
final:
被fianl修饰的类不允许被继承,变量不允许被修改,方法不允许被重写
通常与static组合定义常量
finally:
处理异常时提供finally块来执行任何清除操作,如果抛出异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块
finalize:
是一个方法名。Java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除之前做必要的清理工作,这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的,它是在Object类中定义的,因此所有的类都继承了它,子类覆盖finalize()方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的