final关键字的三种用法:
1、final数据
final常量分为编译期常量和非编译期常量
//编译期常量
final int FINAL_DATA = -1;
//非编译期常量,可以动态确定final常量的值,不同
//的对象可以有不同的常量值
final int i = (int)(Math.random()) ;
//静态非编译期常量,首次初始化的时候确定值,
//所有对象拥有相同的常量值
static final int i = (int)(Math.random());
final不仅可以修饰基础类型,也可以修改对象引用,final类型的值和final类型的引用存储在常量池中,而final类型引用所指向的对象是在堆中分配空间的,该对象是可变的,而该引用指向的内存地址是不变的。
final Object o = new Object();
final也可以修饰函数参数类型
void finalTest(final Object arg){
//arg为指向对象的常量引用,也就是说无法改变该参
//数指向的对象
//arg = new Object();不能改变常量引用指向的对象
}
2、final函数
当父类不想让子类重载某个方法时,可以将该方法声明为final method
public final void finalMethod();
3、final类
当父类不想让任何类继承时,可以将该类声明为final class,由于无法被继承,所以final class的所有方法都是final的。
分享到:
相关推荐
《Java解惑》是一本由Google工程师编写的经典教材,旨在帮助开发者解决在实际编程过程中遇到的困惑和误解。这本书通过一系列精心设计的“Java谜题”,揭示了语言中的一些不直观特性和陷阱,从而提升读者对Java深层...
《JAVA面试题解惑系列合集》这篇文章详细地讨论了Java面试中常见的一些知识点和问题。它包括了从类的初始化顺序、String对象的创建数量、变量的覆盖、final关键字、传值和传引用的区别、字符串的处理、日期和时间的...
Java编程语言中有许多微妙而有趣的细节,这些细节可能会在开发过程中造成困扰,这就是"Java解惑"系列试图解决的问题。本文将深入探讨PPT8中提及的三个Java谜题:Puzzle 76 乒乓、Puzzle 77 搞乱锁的妖怪和Puzzle 78 ...
《Java解惑》是一本专为Java程序员设计的书籍,旨在揭示编程中常见的陷阱、误导性和易错的代码片段,帮助读者提升编程技能,避免在实际工作中遇到问题时感到困惑。这本书通过一系列精心设计的“Java谜题”,引导读者...
《Java解惑中文版》是一本专为Java程序员设计的指南书籍,旨在揭示Java编程中可能遇到的各种陷阱和问题。这本书以95个精心挑选的编程谜题为载体,通过短小精悍的代码示例,揭示了Java语言及其类库在实际应用中的潜在...
这本书以其独特的“谜题”形式,通过一系列精心设计的问题,引导读者探索Java语言的深奥之处,并提供了解决这些问题的策略和技巧。 1. **谜题概念**:《JAVA PUZZLERS》的核心是通过谜题来激发读者对Java语言特性的...
**1.4 JAVA面试题解惑系列(四)——final、finally和finalize的区别** - **知识点**:阐述final关键字的用途(不可变性)、finally块的作用(确保资源释放)、以及`finalize()`方法的功能(垃圾回收前的清理工作)...
为了解决浮点数的精度问题,可以采取以下几种方式之一: - **使用字符串格式化**:通过`System.out.printf("%.2f%n", 2.00 - 1.10);`这样的方式输出结果,保留两位小数,这样可以得到正确的显示结果。 - **使用整数...
4、final,finally,finalize;5.传了值还是传了引用;6.String杂谈;7.日期与时间的处理;8.基本类型总结;9.继承,多态,重载,重写;10.多线程;11.运算符总结。 适合将要笔试面试Java的朋友参考。
根据给定文件的信息,我们可以总结出以下几个重要的Java知识点: ### 1. 判断整数是否为奇数 在Java中,判断一个整数是否为奇数最直接的方法是使用模运算符`%`。模运算符返回两个数相除后的余数。如果一个整数`i`...
Puzzle 72: Final Jeopardy Puzzle 73: Your Privates Are Showing Puzzle 74: Identity Crisis Puzzle 75: Heads or Tails? A Glossary of Name Reuse Chapter 9. More Library Puzzlers Puzzle 76: ...
【JAVA面试题解惑系列】是一系列专门针对Java开发者面试准备的文章集合,涵盖了多个核心Java概念和面试常问问题。作者臧圩人在JavaEye社区分享了这个系列,旨在帮助求职者理解和解答面试中可能出现的疑问。 1. **类...
【JAVA面试题解惑系列合集】是一本由臧圩人编写的,专注于JAVA面试常见问题解答的资料。这本书集合了多个关于JAVA编程的面试题目及其解析,旨在帮助准备面试的程序员理解和解决实际问题。书中涵盖了类的初始化顺序、...
### Java面试解惑系列知识点详解 #### 1. 类的初始化顺序 在Java中,类的初始化顺序是一个常见的面试问题,尤其是当涉及到继承时。理解类的初始化顺序有助于程序员更好地控制程序的行为,尤其是在复杂的类层次结构...