Java的关键字final的含义存在着细微的区别,但通常它指的是“这里无法改变的”。不想做改变可能出于两种理由:设计或效率。
可能使用到final的三种情况:数据、方法和类。
1、final数据:第一个是永不改变的编译时的常量,第二个是在运行时被初始值,而你不希望它被改变。
2、final方法:第一个原因是把方法锁定,以防任何继承类修改它的定义。只是出于设计的考虑:想要确保在继承中使方法行为保持不变,并且不会被覆盖。第二个原因是效率的问题,如果你使用的是Java SE5/6时,应该让编译器和JVM去处理效率问题,只是想要明确禁止覆盖时,才将方法设置为final的。
3、final类:当将某个类整体定义为final时,就表明了你不打算继承该类,而且也不允许别人这样做。换句话说,出于某种考虑,你对该类的设计永不需要做任何变动,或者出于安全的考虑,你不希望它有子类。
private 方法隐式的指定为final的
final方法
将方法声明为final,那就说明你已经知道这个方法提供的功能已经满足你要求,不需要进行扩展,并且也不允许任何从此类继承的类来覆写这个方法,但是继承仍然可以继承这个方法,也就是说可以直接使用。另外有一种被称为inline的机制,它会使你在调用final方法时,直接将方法主体插入到调用处,而不是进行例行的方法调用,例如保存断点,压栈等,这样可能会使你的程序效率有所提高,然而当你的方法主体非常庞大时,或你在多处调用此方法,那么你的调用主体代码便会迅速膨胀,可能反而会影响效率,所以你要慎用final进行方法定义。
final类
当你将final用于类身上时,你就需要仔细考虑,因为一个final类是无法被任何人继承的,那也就意味着此类在一个继承树中是一个叶子类,并且此类的设计已被认为很完美而不需要进行修改或扩展。对于final类中的成员,你可以定义其为final,也可以不是final。而对于方法,由于所属类为final的关系,自然也就成了final型的。你也可以明确的给final类中的方法加上一个final,但这显然没有意义。
转于:http://itlife365.com/?post=45
分享到:
相关推荐
final关键字是Java语言中的一个基本概念,它用于限制类、变量、方法以及引用的修改和扩展。final关键字的主要作用是告诉编译器该元素是最终的,不可变的。对于初学者来说,掌握final关键字的使用可以帮助编写出更加...
谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。 主要介绍:一.final关键字的基本...
4. **final关键字的好处** - 提高性能:JVM可以对`final`变量进行优化,因为它们的值是不可变的,这有助于提升程序执行速度。 - 多线程安全:`final`变量在多线程环境中可以直接共享,因为它们的值不会改变,从而...
Java中的`final`关键字是一个非常重要的概念,它用于表示不可变性或终结状态。下面我们将详细探讨`final`关键字在修饰变量、方法和类时的不同用法。 1. **final变量** - 常量定义:`final`变量一旦被初始化后,其...
final关键字的使用f
在Java编程语言中,`final`关键字扮演着一个至关重要的角色,它被用来声明一个变量、方法或类为不可变的。在这个学习demo中,我们将深入理解`final`关键字的各种用法及其背后的原理。 首先,`final`关键字用于变量...
Java中的final关键字是一个非常重要的概念,它用于定义不可变性,确保对象或代码段的不可修改性。在Java中,final可以用来修饰类、方法、变量和参数,以实现特定的编程需求。以下是对final关键字在各个场景下用法的...
22.final关键字.zip22.final关键字.zip22.final关键字.zip22.final关键字.zip22.final关键字.zip22.final关键字.zip22.final关键字.zip22.final关键字.zip22.final关键字.zip22.final关键字.zip22.final关键字.zip22...
java程序设计中,final 关键字用法,通过代码演示java程序设计中,final 关键字用法,
Java编程中的`static`关键字和`final`关键字是两个非常重要的概念,它们分别代表不同的特性。首先,我们来看`static`关键字。 `static`关键字用于声明静态变量和静态方法。静态变量,也称为类变量,属于类本身而...
Java中的`final`关键字是一个非常重要的概念,它用于在编程中实现不同的限制和特性。`final`关键字可以应用于以下几个方面: 1. **final变量**:当一个变量被声明为`final`时,它成为了一个不可修改的常量。这意味...
【JavaSE之final关键字与成员变量的类型】 在Java编程语言中,`final`关键字扮演着重要的角色,它表示“最终”或“不可改变”的特性。对于初学者来说,理解`final`的关键字用法是掌握JavaSE基础的重要一步。本篇...
接下来我们将详细探讨`final`关键字的使用方法和注意事项。 首先,`final`关键字可以用于定义类。当一个类被声明为`final`时,意味着这个类不能被其他类继承。这是一个阻止多层继承的手段,有助于避免由于复杂的...
深入理解Java中的final关键字 在Java中,final关键字非常重要,它可以应用于类、方法以及变量。本篇文章将带您深入理解final关键字的含义、用途和好处。 final变量 final变量是指成员变量或本地变量声明为final的...
Java中final关键字详解及实例 在Java编程语言中,final关键字扮演着非常重要的角色,它可以用来声明成员变量、方法、类以及本地变量。final关键字的主要作用是确保变量、方法或类不可以被修改或继承。 final变量 ...
本文将深入探讨Java中的`final`关键字以及C#中的`const`和`readonly`关键字,了解它们如何分别实现编译时常量和运行时不可变性。 ### Java中的`final`关键字 #### 1. 编译器常量 在Java中,`final`关键字可以用来...
Java static与final关键字详解 Java 中的 static 和 final 关键字是两个重要的概念,分别用于修饰成员变量、方法和类。下面我们将详细分析这两个关键字的知识点和相关代码分享。 static 关键字 static 关键字是 ...