finaly 属于java中的修饰符,用于声明类,属性,方法,表示类不可被继承,方法不可被覆盖,属性不可修改
final:被final修饰的变量不可变主要指的是引用不可变(另一种不可变指的是内容不可变)
public class Test{
public static void main(String [] args)
{
final StringBuffer s = new StringBuffer("hello");
s.append("world");
s.o.p(s);//打印出helloworld
}
}
###################################################################################
final StringBuffer s = new StringBuffer("hello");
s = new StringBuffer("hello world");
//结果编译期间出错
由上例子可以看出,final指的是引用不可变,即它只能指向初始化时的那个对象,而不关心内容的变化,所以被final修饰的变量必须初始化
final修饰方法:
final修饰的方法只能被子类使用,而不可以被子类修改
finalize方法:
finalize是Object类的一个方法,在垃圾回收器执行的时候会调用被回收的对象的finalize,但是由于finalize()方法的优先级比较低,所以手并不是每次调用finalize()方法,都会有一次内存回收