Java中的final关键字详细介绍

 更新时间:2014年01月08日 15:19:55   作者:  
这篇文章主要介绍了Java中的final关键字,有需要的朋友可以参考一下

•final变量
如果在变量前加final关键字,则这个变量一旦被初始化,便不可再改变。

如果一个final变量是类成员变量,则必须被初始化,且只能被初始化一次。

方法中的参数也可以是final变量。这在我们需要传递引用型的变量时非常有用,因为有时候我们并不希望调用函数修改该变量而影响到原函数中对象的值。因此将引用型变量设为final类型可以有效方式变量被调用参数修改。此时在调用方法中只可以使用该变量,但不能对其做任何修改。

复制代码 代码如下:

void test(final int a){ 
    //can not modify a    


•final方法

若一个类中的某个方法是final的,则该类的子类可以直接使用这个方法,但不能覆盖这个方法。


有些编译器会再调用final方法时,直接将final方法的主体插到调用处来提高效率,而不是采用保存断点、压栈等常规方法。


•final类

如果一个类是final的,那么它不能被继承。因此final类是一个叶子类,它不能是abstract的。final类中的方法肯定是final的(但并不需要在方法中显式添加final关键字,当然添加也无所谓),final类的变量可以是final或非final的。

相关文章

  • Spring Cloud Eureka服务注册中心入门流程分析

    Spring Cloud Eureka服务注册中心入门流程分析

    这篇文章主要介绍了Spring Cloud Eureka服务注册中心入门流程分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • Java中的Calendar日历API用法完全解析

    Java中的Calendar日历API用法完全解析

    今天特别整理了针对Java中的Calendar日历API用法完全解析,通过Calendar API我们可以对Calendar所提供的时间日期字段进行各种自定义操作,首先还是从Calendar的基础入手:
    2016-06-06
  • spring boot拦截器的使用场景示例详解

    spring boot拦截器的使用场景示例详解

    这篇文章主要给大家介绍了关于spring boot拦截器的使用场景,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-05-05
  • Java SpringMVC的@RequestMapping注解使用及说明

    Java SpringMVC的@RequestMapping注解使用及说明

    这篇文章主要介绍了Java SpringMVC的@RequestMapping注解使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • Spring Boot中利用JavaMailSender发送邮件的方法示例(附源码)

    Spring Boot中利用JavaMailSender发送邮件的方法示例(附源码)

    这篇文章主要介绍了Spring Boot中利用JavaMailSender发送邮件的方法示例, 相信使用过Spring的众多开发者都知道Spring提供了非常好用的JavaMailSender接口实现邮件发送。在Spring Boot的Starter模块中也为此提供了自动化配置。需要的朋友可以参考借鉴。
    2017-02-02
  • mybatis通过中间表实现一对多查询功能

    mybatis通过中间表实现一对多查询功能

    这篇文章主要介绍了mybatis通过中间表实现一对多查询,通过一个学生的id查询出该学生所学的所有科目,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2021-08-08
  • Java的RocketMQ之消息存储和查询原理详解

    Java的RocketMQ之消息存储和查询原理详解

    这篇文章主要介绍了Java的RocketMQ之消息存储和查询原理详解,一台Broker服务器只有一个CommitLog文件(组),RocketMQ会将所有主题的消息存储在同一个文件中,这个文件中就存储着一条条Message,每条Message都会按照顺序写入,需要的朋友可以参考下
    2024-01-01
  • 一招教你使用Java执行groovy脚本的两种方式

    一招教你使用Java执行groovy脚本的两种方式

    本文主要介绍了一招教你使用Java执行groovy脚本的两种方式,一种是通过脚本引擎ScriptEngine提供的eval(String)方法执行脚本内容,一种是执行groovy脚本,感兴趣的可以了解一下
    2023-09-09
  • java序列化与反序列化的使用方法汇总

    java序列化与反序列化的使用方法汇总

    序列化是一种对象持久化的手段,普遍应用在网络传输、RMI等场景中,这篇文章主要给大家总结介绍了关于java序列化与反序列化的使用方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-07-07
  • Spring Bean名称不会被代理的命名技巧

    Spring Bean名称不会被代理的命名技巧

    Spring Bean一些使用小细节就是在不断的源码探索中逐步发现的,今天就来和小伙伴们聊一下通过 beanName 的设置,可以让一个 bean 拒绝被代理
    2023-11-11

最新评论