final finally 和 finalize的区别

来源:互联网 发布:计算机 数学 知乎 编辑:程序博客网 时间:2024/05/17 15:40

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()方法,都会有一次内存回收

0 0
原创粉丝点击