谈谈final、finally和finalize

final:

    final为修饰符,

    如果类被声明为final,则不能派生新子类。

    如果变量被声明为final,则必须在声明时初始化,在以后的引用只能读取,不可修改。

    如果方法被final声明,则只能使用,不可重载。

finally:

    finally用于异常处理中执行catch块后执行的语句块(如果该语句块存在)。

finalize:

    finalize为方法名,用于在垃圾收集器将对象删除之前对该对象调用的。

时间: 2024-08-10 15:00:24

谈谈final、finally和finalize的相关文章

谈谈 final finally finalize 区别

声明 本篇所涉及的提问,正文的知识点,全都来自于杨晓峰的<Java核心技术36讲>,当然,我并不会全文照搬过来,毕竟这是付费的课程,应该会涉及到侵权之类的问题. 所以,本篇正文中的知识点,是我从课程中将知识点消耗后,用个人的理解.观念所表达出来的文字,参考了原文,但由于是个人理解,因此不保证观点完全正确,也不代表错误的观点是课程所表达的.如果这样仍旧还是侵权了,请告知,会将发表的文章删掉. 当然,如果你对此课程有兴趣,建议你自己也购买一下,新用户立减 30,微信扫码订阅时还可以返现 6 元,相

谈谈final、finally、finalize的区别

1.final:如果一个类被final修饰,意味着该类不能派生出新的子类,不能作为父类被继承.因此一个类不能被声明为abstract,又被声明为final.将变量或方法声明为final.可以保证他们在使用的时候不被改变.其初始化可以在两个地方:一是其定义的地方,也就是在final变量在定义的时候就对其赋值:二是在构造函数中.这两个地方只能选其中的一个,要么在定义的时候给值,要么在构造函数中给值.被声明为final的方法也只能使用,不能重写. 2.finally:在异常处理的时候,提供finall

Java核心技术36讲----------谈谈final、finally、finalize有什么不同

一.final 1.final修饰方法时,需要注意的点: #final修饰方法时,之前的第二个原因是效率.但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升.在最近的Java版本中,不需要使用final方法进行这些优化了." #因此,如果只有在想明确禁止 该方法在子类中被覆盖的情况下才将方法设置为final的.即父类的final方法是不能被子类所覆盖的,也就是说子类是不能够存在和父类一模一样的方法的 #要注意的一点是:因为重写的前提是子类可以从父类中继承此方法,如果父类中final修饰的

Java中final,finally和finalize区别

Day11_SHJavaTraing_4-18-2017 1.final-修饰符(关键字) ①final修饰类,表示该类不可被继承 ②final修饰函数,表示继承这个类的子类中不能重写这个函数 ③final修饰变量,表示该变量的值不可改变,必须在声明时给定初值.如果修饰的是引用类型的变量,则变量中保存的引用(地址)不可改变,但是引用指向的堆内存中的数据可以改变2.finally-在异常处理时finally代码块一定会被执行3.finalize-Object类的一个方法 使用finalize()方

final .....finally ...... 和Finalize ......区别

一.性质不同 (1)final为关键字: (2)finalize()为方法: (3)finally为为区块标志,用于try语句中: 二.作用 (1)final为用于标识常量的关键字,final标识的关键字存储在常量池中(在这里final常量的具体用法将在下面进行介绍): (2)finalize()方法在Object中进行了定义,用于在对象"消失"时,由JVM进行调用用于对对象进行垃圾回收,类似于C++中的析构函数:用户自定义时,用于释放对象占用的资源(比如进行I/0操作): (3)fi

final,finally和finalize三者的区别和联系

对于初学者而言(当然也包括我)对于这三者真的不是很陌生,经常会看到它们.但对于三者之间的区别和联系一直是懵懵懂~~ 今天心情不错,那就简单总结一下它们几个的区别和联系吧.如果又不对的地方欢迎批评指正~~ 1.final final是java的中的一个关键字.final关键字可以用来修饰属性,方法和类.还有就是如果内部类要访问局部变量的话,那么对应的局 部变量也必须为final关键字修饰的. 首先,使用final修饰的属性是不能够修改的. 例如:final int VALUE=100; 那么这里的

谈谈final

用final修饰类 这种情况很简单,这个类不能被继承.它"绝后"了. 用final修饰方法 这里可以分两种情况. 用final修饰private方法.其实也不能这么说,英文私有方法也被编译器隐式修饰为final,这意味着private final void f()和private void f()并无区别. 用final修饰public方法. 那么此方法不能被重写. 用final修饰参数 举个例子 public void f2(final int a ,final User u) {

Java基础知识总结--final、finally、finalize的区别

谈谈final.finally.finalize的区别 1.final修饰符:如果一个类被声明为final,意味着这个类不能再被派生出新的子类,不能作为父类被别的类继承.因此,一个类不能即被声明为abstract又被声明为final.将变量或者方法声明为final,可以保证他们在使用中不会被改变.其初始化可以在两个地方进行:一个就是 在定义处,在final变量定义时直接给其赋值,二就是在构造函数中,这两个地方只能任选其一,并且在以后的引用中只能读取不能修改,别声明为final的方法只能使用,不能

大厂面试官问你知道final、finally、finalize有什么区别?

前言Java程序员面试,基础真的很重要.基础这东西,各个公司都很看重,尤其是大公司,他们看中人的潜力,他们舍得花精力去培养,所以基础是重中之重.之前很多人问我,项目经历少怎么办,那就去打牢基础,当你的基础好的发指的时候,你的其他东西都不重要了. Java 语言有很多看起来很相似,但是用途却完全不同的语言要素,这些内容往往容易成为面试官考察你知识掌握程度的切入点.今天,我要问你的是一个经典的 Java 基础题目,谈谈 final.finally. finalize 有什么不同?典型回答final