如果说整个类都是final(在它的定义前冠以final关键字),就表明自己不希望从这个类继承,或者不允许其他任何人采取这种操作。换言之,出于这样或那样的原因,我们的类肯定不需要进行任何改变;或者出于安全方面的理由,我们不希望进行子类化(子类处理)。
除此以外,我们或许还考虑到执行效率的问题,并想确保涉及这个类各对象的所有行动都要尽可能地有效。如下所示:
//: Jurassic.java
// Making an entire class final
class SmallBrain {}
final class Dinosaur {
int i = 7;
int j = 1;
SmallBrain x = new SmallBrain();
void f() {}
}
//! class Further extends Dinosaur {}
// error: Cannot extend final class 'Dinosaur'
public class Jurassic {
public static void main(String[] args) {
Dinosaur n = new Dinosaur();
n.f();
n.i = 40;
n.j++;
}
} ///:~注意数据成员既可以是final,也可以不是,取决于我们具体选择。应用于final的规则同样适用于数据成员,无论类是否被定义成final。将类定义成final后,结果只是禁止进行继承——没有更多的限制。然而,由于它禁止了继承,所以一个final类中的所有方法都默认为final。因为此时再也无法覆盖它们。所以与我们将一个方法明确声明为final一样,编译器此时有相同的效率选择。
本文来自: 编程入门网 http://www.bianceng.cn/Programming/Java/jc/200705/1525.htm
分享到:
相关推荐
Java中final类的简单使用,并对Java关键字的使用做出了总结
Java中的final关键字是一个非常重要的修饰符,它用于声明变量、方法和类,确保它们在程序执行期间保持不变。final关键字在Java编程中的应用广泛,可以帮助提高代码的稳定性和可维护性。 1. **常量的声明** final...
这是因为内部类会捕获封闭作用域中的变量的副本,而`final`确保变量在内部类中不可变。 接下来,我们讨论`static`关键字。`static`主要用于表示与类相关联的成员,而不是类的实例。其主要特性包括: 1. **静态变量...
final 关键字在 Java 中有多种用法,包括修饰变量、方法、类等。下面是 final 关键字的各种用法: 1. final 修饰变量:表示该变量一旦被初始化,程序无法修改变量的值,该变量变成了一个常量。注意,系统不会默认为...
在Java编程语言中,`final`关键字扮演着一个至关重要的角色,它被用来定义不可变性和唯一性。这个关键字可以应用于变量、方法和类,分别赋予它们不同的特性。以下是对`final`关键字在不同场景下使用的详细介绍: 1....
java中final和static讲解及实例
例如,Java中的`String`类就是`final`的,目的是防止对其内部结构的修改,确保字符串的不可变性。 对于方法,当一个方法被声明为`final`时,它不能在子类中被重写。这通常用于确保某些核心功能或算法的实现不会被子...
在Java编程中,final关键字扮演...总结,final关键字在Java中主要起到了不可变性、防止继承和方法重写的作用,有助于代码的维护、性能优化和安全性。理解并恰当使用final,可以帮助开发者创建更加健壮和可预测的代码。
Java 中的 `final` 关键字是一个至关重要的概念,它被用来声明类、方法和变量,以确保它们在程序执行过程中不可更改。深入理解 `final` 关键字可以帮助开发者写出更加安全、高效的代码。 首先,`final` 关键字可以...
- **定义**:final是Java中的一个关键字,用于声明变量、方法或类。 - **特点**: - 当用于声明变量时,表示该变量的值一旦被初始化后就不能改变。 - 当用于声明方法时,表示该方法不能被子类重写。 - 当用于声明...
`final`关键字在Java中有多种用途,它可以用来修饰类、方法和变量,其主要目的是确保被修饰的对象具有不可变性或只读性。 #### 1. `final`修饰变量 当`final`用于修饰一个变量时,该变量成为常量,一旦赋值后就不...
在 Java 编程语言中,final 和 static 是两个非常重要的关键字,它们可以用来修饰类、方法、变量等,了解它们的使用方法和限制非常重要。本文将详细总结 final 和 static 的使用方法和限制。 一、final 关键字 ...
在Java编程语言中,`final`关键字是一个非常重要的概念,它具有多种用途,涉及到类、方法和变量的声明。在本篇文章中,我们将深入探讨`final`关键字在Java中的使用和意义。 首先,`final`关键字用于声明一个不可变...
在Java编程语言中,`final`关键字有着重要的作用,它用于标记一个变量、方法或类,表示不可变性。这个特性在多个方面都有应用,包括创建常量、确保引用不可变以及在多线程环境中提供安全。 1. **常量的创建**: `...
在Java编程语言中,`final`关键字、抽象类和接口是面向对象编程的重要概念。它们各自扮演着不同的角色,帮助我们构建更健壮、可维护的代码结构。 首先,`final`关键字在Java中具有多种用途。它可以用来修饰类、方法...
"关于Java中final的深度剖析" final关键字是Java中一种非常重要的关键字,它可以用来修饰变量、方法和类,具有多种用途和效果。 1.final变量 在Java中,final变量是一种常量,它的值不能被改变。final变量可以在...
在Java编程语言中,`final`关键字扮演着一个至关重要的角色,它被用来声明一个变量、方法或类为不可变的。在这个学习demo中,我们将深入理解`final`关键字的各种用法及其背后的原理。 首先,`final`关键字用于变量...
总的来说,`final`关键字在Java中起到了关键的约束和保护作用,保证了代码的稳定性和可预测性。理解并正确使用`final`,可以帮助开发者编写出更加安全、高效的Java程序。无论是定义常量、防止方法重写、阻止类继承...
在Java编程语言中,`static`, `this`, `super`, 和 `final` 是四个非常...例如,静态方法和变量常用于工具类,`this` 和 `super` 在对象实例化和继承中起到关键作用,而 `final` 则保证了数据的不变性和接口的安全性。