004-final 在 java 中有什么作用

前言

面试是类似演讲演说的过程,网上的资料都是文字的,没法让面试者直观的体验到面试过程,本人已经将相关内容制作成音频节目,我还没有权限在上传音频,有兴趣的朋友可以去喜马拉雅搜索《2020年Java面试208题》收听音频版节目。

《2020年Java面试208题》整理了208个Java程序员的面试题,主要是针对三年以内开发经验的JAVA程序员提出的问题。

题目

本期要说的是《2020年Java面试208题》的第4题,面试官提了这样一个问题:请描述final在java中的作用?

知识点分析

这个题目属于没有啥深度的题目,纯粹是知识点的直来直去,我就不做剖析了,直接演示。

演示面试

那么就由我来演示一下面试,我会这样来回答:

你好,面试官。

1 final在java中是修饰符关键字

这句话有两个意思:修饰符是放在变量名、方法名、类名前面的,用来起到修饰作用的,比如public,private,这些都是修饰符。 关键字的意思是这个单词是java内已经使用的,程序员不可以当做变量名、方法名或者类名使用。

2 final可以修饰变量、方法和类

3 final修饰变量的特性

final修饰的变量,这个变量是不可修改的。

这里又分为两个情况,分别是值不可修改 和 引用不可修改。

如果变量是值变量,那么该变量的值不能修改,比如定义了一个整型对象是final修饰的,那么这个对象开始值是多少就固定下来了,不 允许修改了,这个类似C语言里面的const。

如果变量是引用变量,比如定义了学生对象 student并修饰为final的,那么student的年龄、姓名都可以修改,但是,不允许再给student赋值新的对象了,比如再执行student =new Student()构造方法,这是不允许的。

4 final修饰方法的特性

final修饰后的方法,禁止子类继承的时候重写方法。

同时final修饰后的方法执行速度会更快,因为final修饰的类似C里面的inline内联机制,在调用方法的时候,直接将方法插入到方法调用的位置,这样方法调用就减少了寻址调用的时间开销。

5 final修饰类的特性

final修饰后的类,是禁止被继承的。

好了,以上就是我的演示面试,不知道是否让你满意。

下期再见

本人技术有限,只是希望给程序员面试提供一点帮助,必有不足之处,希望业内人士积极批评指正,在留言区留言就是对我最大的鼓励。希望批评中肯一些,不要存在人身攻击,更不要波及到家人,善意中肯的批评我都能够虚心接受。 我们下期再见。

你可能感兴趣的:(004-final 在 java 中有什么作用)