文章目录

final 保留字概述

final关键字在java中非常重要,它可以应用于类、方法以及变量;

final经常和static一起使用来声明常量,你也会看到final是如何改善应用性能的。

final 的含义

final在Java中是一个保留的关键字,可以声明成员变量、方法、类以及本地变量;

一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译错误.

final 定义的变量

凡是对成员变量或者本地变量(在方法中的或者代码块中的变量称为本地变量)声明为final的都叫作final变量;

final变量经常和static关键字一起使用,final常量:

public static final String YIJIEBUYI = "loan";

YIJIEBUYI = new String("yijiebuyi") //invalid compilation error

final 变量是只读的,重新赋值会报错.

final 定义的方法

方法前面加上final关键字,代表这个方法不可以被子类的方法重写;

当子类中不需要改变的话,你可以声明此方法为final;

final方法比非final方法要快,因为在编译的时候已经静态绑定了,不需要在运行时再动态绑定;

例如:

class Person{

public final String getName(){

return "personal";

}

}

class Student extends Person{

@Override

public final String getName(){

return "yijiebuyi"; //compilation error: overridden method is final

}

}

final 定义的类

使用final来修饰的类叫作final类;

final类它们不能被继承;

Java中有许多类是final的,譬如String, 下面是final类的实例:

final class Person{

}

class Student extends Person{

//compilation error: cannot inherit from final class

}

final 定义的类当被其他类继承时,直接报错.

使用 final 的好处

final关键字可以提高性能;

JVM和Java应用都会缓存final变量;

final变量可以安全的在多线程环境下进行共享,而不需要额外的同步开销;

使用final关键字,JVM会对方法、变量及类进行优化.

什么时候用 final

创建不可变类要使用final关键字;

不可变类是指它的对象一旦被创建了就不能被更改了;

String是不可变类的代表;

不可变类有很多好处,譬如它们的对象是只读的,可以在多线程环境下安全的共享,不用额外的同步开销等等.

java 什么时候用final_java 中 final 关键字的使用相关推荐

  1. java中final关键字的使用

    final 中文翻译为 最终的,在java中也是较为常用的关键字之一. 在java 中 final 关键字可以修饰  类.方法.变量 final 修饰在类上,则表示该类不能被继承,如果里面的成员变量没 ...

  2. ACAC java中final关键字

    java中final关键字/*1.final关键字:java 中的一个关键字,最终的,不可变的可以修饰变量以及方法,还有类等.1.修饰的方法,修饰的类无法被覆盖,无法被重写,无法被继承写的方法不希望被 ...

  3. Java中final关键字的简介说明

    下文笔者讲述java中final关键字的功能简介说明,如下所示 final关键字功能 final关键字修饰的类.方法.变量都会产生特殊的意义 如:final关键字修饰过后的类不能被子类继承final关 ...

  4. 重新精读《Java 编程思想》系列之final关键字

    在java中final关键字标识无法被修改.接下来从final修饰数据.方法和类进行介绍. final数据 final用来告知编译器这一块数据是恒定不变的.数据恒定不变又如下作用: 1.一个永不改变的 ...

  5. 关于Java中final关键字的详细介绍

    Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使 ...

  6. Java中final关键字的几种用法

    在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面大家跟随动力节点java ...

  7. java final定义_Java中final关键字的用法

    final在Java中并不常用,然而它却为我们提供了诸如在C语言中定义常量的功能,不仅如此,final还可以让你控制你的成员.方法或者是一个类是否可被覆写或继承等功能,这些特点使final在Java中 ...

  8. java中final关键字、权限修饰符、内部类(成员内部类、局部内部类、匿名内部类)

    final关键字: final表示最终的不可变的,在java中可以用来修饰类或方法.局部变量.成员变量. // 1.final关键字修饰类需要放在class关键字前面,表示不可变的类,需要注意,这里表 ...

  9. final关键字_夯实基础:Java中final关键字的几种用法

    导语 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构. 关于static请查 ...

最新文章

  1. SAP SD之如何配置发票分割开票
  2. nova instance出错:message: Proxy error: 502 Read from server failed
  3. 上海python好找工作吗_上海找个月薪一万的工作难吗
  4. jmeter 自定义参数_jmeter参数化并在jenkins上执行
  5. 出席全球数字经济大会 第四范式助力打造中国数字经济“北京样板”
  6. Scala模式匹配,case 字符串,case 匹配类型,case 匹配数组,case 匹配List,case 匹配元组,case匹配case class和case object
  7. 线程同步synchronized理解
  8. html td显示隐藏,显示/隐藏Html TR/TD
  9. 记录excel翻车现场
  10. 利用Python来玩扫雷,极致的思维体验
  11. 分析器错误信息: 未能加载类型命名空间.类...
  12. log功能ASP.NET MVC能实现
  13. 最优化知识笔记整理汇总
  14. Flutter学习 — 实现滑动关闭、删除item
  15. HDU 4649 Professor Tian(概率DP)题解
  16. selenium--下载与安装
  17. android游戏脚本开发工具,游戏脚本制作工具无需安卓
  18. Sizes of tensors must match except in dimension 1. Got 85 and 6 in dimension 2
  19. 树莓派4B openwrt wifi 提升速度
  20. C#练习题答案: 图片#1 - 重建巴别塔【难度:1级】--景越C#经典编程题库,1000道C#基础练习题等你来挑战

热门文章

  1. 【运维面试】你们公司有多少台服务器?
  2. Android Studio 连接雷电模拟器运行程序
  3. python实现冒泡排序完整算法_利用python实现冒泡排序算法实例代码
  4. 1.数据结构与算法 基础知识
  5. matlab bp神经网络预测(不好用的版本)
  6. 苹果iMessage上线Business Chat功能
  7. python画条形图
  8. 磨染的初心——计算机视觉的现状(3.2):纹理与材质
  9. 畅想未来计算机的绘画作品小学生,幻想未来科技绘画作品 小学生未来科技绘画作品欣赏...
  10. python面试宝典2