天天看点

final finally finalize的区别final finally finalize的区别

final finally finalize的区别

final(最终的):

    1.final修饰的类,不可以被继承,比如String类;

    2.final修饰的方法,不能被重写; 综上两点:final不能和abstract共存(因为抽象类自身无法创建对象,我们需要通过子类创建对象,一旦抽象类使用final关键字,那么抽象类就没有子类,抽象方法不能和final共存,因为抽象方法后期需要被子类重写,一旦加final无法重写 )

    3.final修饰的变量就变成了常量,只能被赋值一次;final一般和public static 一起使用.如果修饰的是基本数据类型是值不能被改变,如果修饰的是变量就是地址值不能改变,但是可以通过方法修改变量的属性.

关于final修饰变量的初始化时机:

    因为final修饰的变量只能被赋值一次,所以说赋值的时机尤为重要:①显示初始化,即在定义的时候初始化,②在构造对象之前初始化,当然我们一般使用的是第一种情况.

    常量的命名规范:如果是一个单词,所有字母大写,如果是多个字母所有,如果是多个单词,每个单词都大写,中间用下划线隔开. finally:

这个很简单,在我们抓取捕获异常的时候会有对应的语法格式,比如:

final finally finalize的区别final finally finalize的区别

其中try里面的代码块(代码块A)是代表可能出现异常的代码,catch的代码块(代码块B)的表示代码块A出现异常之后需要执行的代码,而finally里面的代码快(代码块C),是不管代码块A有没有异常都会执行的. finalize:

finallize()方法定义在Object类中,在释放对象占用内存之前,会调用该方法,一般建议在该方法中释放对象所持有的资源.