java 什么时候用final_java 中 final 关键字的使用
文章目录
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 关键字的使用相关推荐
- java中final关键字的使用
final 中文翻译为 最终的,在java中也是较为常用的关键字之一. 在java 中 final 关键字可以修饰 类.方法.变量 final 修饰在类上,则表示该类不能被继承,如果里面的成员变量没 ...
- ACAC java中final关键字
java中final关键字/*1.final关键字:java 中的一个关键字,最终的,不可变的可以修饰变量以及方法,还有类等.1.修饰的方法,修饰的类无法被覆盖,无法被重写,无法被继承写的方法不希望被 ...
- Java中final关键字的简介说明
下文笔者讲述java中final关键字的功能简介说明,如下所示 final关键字功能 final关键字修饰的类.方法.变量都会产生特殊的意义 如:final关键字修饰过后的类不能被子类继承final关 ...
- 重新精读《Java 编程思想》系列之final关键字
在java中final关键字标识无法被修改.接下来从final修饰数据.方法和类进行介绍. final数据 final用来告知编译器这一块数据是恒定不变的.数据恒定不变又如下作用: 1.一个永不改变的 ...
- 关于Java中final关键字的详细介绍
Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使 ...
- Java中final关键字的几种用法
在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面大家跟随动力节点java ...
- java final定义_Java中final关键字的用法
final在Java中并不常用,然而它却为我们提供了诸如在C语言中定义常量的功能,不仅如此,final还可以让你控制你的成员.方法或者是一个类是否可被覆写或继承等功能,这些特点使final在Java中 ...
- java中final关键字、权限修饰符、内部类(成员内部类、局部内部类、匿名内部类)
final关键字: final表示最终的不可变的,在java中可以用来修饰类或方法.局部变量.成员变量. // 1.final关键字修饰类需要放在class关键字前面,表示不可变的类,需要注意,这里表 ...
- final关键字_夯实基础:Java中final关键字的几种用法
导语 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构. 关于static请查 ...
最新文章
- SAP SD之如何配置发票分割开票
- nova instance出错:message: Proxy error: 502 Read from server failed
- 上海python好找工作吗_上海找个月薪一万的工作难吗
- jmeter 自定义参数_jmeter参数化并在jenkins上执行
- 出席全球数字经济大会 第四范式助力打造中国数字经济“北京样板”
- Scala模式匹配,case 字符串,case 匹配类型,case 匹配数组,case 匹配List,case 匹配元组,case匹配case class和case object
- 线程同步synchronized理解
- html td显示隐藏,显示/隐藏Html TR/TD
- 记录excel翻车现场
- 利用Python来玩扫雷,极致的思维体验
- 分析器错误信息: 未能加载类型命名空间.类...
- log功能ASP.NET MVC能实现
- 最优化知识笔记整理汇总
- Flutter学习 — 实现滑动关闭、删除item
- HDU 4649 Professor Tian(概率DP)题解
- selenium--下载与安装
- android游戏脚本开发工具,游戏脚本制作工具无需安卓
- Sizes of tensors must match except in dimension 1. Got 85 and 6 in dimension 2
- 树莓派4B openwrt wifi 提升速度
- C#练习题答案: 图片#1 - 重建巴别塔【难度:1级】--景越C#经典编程题库,1000道C#基础练习题等你来挑战