今天晚上在网上看到一些讲基础的java知识的blog,自己便想了想真的知道了这些基础知识了吗?想想还是基础知识掌握的不好,在这里把自己遇到的问题写到blog里,一是希望自己以后一定要关注java的基础知识,定期看书复习,俗话说:“万丈高楼从地起”,只有掌握好了基础才能写出有质量的代码。二是如果有人和我一样不了解final的话,希望有所帮助。
我们都知道finnal是用来定义常量的,一旦定义就不可以改变。这句话是正确的,但是,我们应该仔细分析这句话,定义常量有基本类型和引用类型,那对这两种类型的变量,什么才叫做一旦定义就不能改变呢?我们来看看这段代码:
public static final int DEFAULT_NUM = 1;
public static void changeNum(int num) {
DEFAULT_NUM = 2;
}
这个代码肯定是错误的。我们在来看另外一段代码:
public static final Map<String, String> INFO_MAP = new HashMap<String, String>();
static {
INFO_MAP.put("s", "soong");
}
啊?不是说finnal变量一旦第一就不可以改变吗?没错!这个观点是真确的(废话,全世界的java书都是这样讲的,呵呵),这里就体现了,对于基本数据类型来说一但定义,并且赋值后,是不能改变的,对于应用数据类型来说,不能改变不是指它的值不能改变,而是指它所指向的引用不能改变(这就是基本数据类型和引用类型的差别)。
总结一句话:“finnal对于基本数据类型是值不能改变,而对于引用数据类型是其引用不能改变”。
分享到:
相关推荐
- **代码安全性**:使用`final`可以避免无意中改变变量值或方法行为,增强代码的安全性和稳定性。 - **设计模式支持**:在某些设计模式中,如单例模式,`final`关键字是实现的关键之一,确保只有一个实例存在。 ###...
在 Java 编程语言中,final 和 static 是两个非常重要的关键字,它们可以用来修饰类、方法、变量等,了解它们的使用方法和限制非常重要。本文将详细总结 final 和 static 的使用方法和限制。 一、final 关键字 ...
使用 final 方法的原因有二:第一,把方法锁定,防止任何继承类修改它的意义和实现;第二、高效。编译器在遇到调用 final 方法时候会转入内嵌机制,大大提高执行效率。 3. final 变量(常量) final 变量表示常量...
正确地使用`final`可以大大增强代码的可靠性和性能。 ### Java中的static关键字详解 #### 一、static的概述 `static`关键字在Java中主要用于创建静态成员,包括静态变量和静态方法。与普通成员不同,静态成员属于...
对于方法,当一个方法被声明为`final`时,它不能在子类中被重写。这通常用于确保某些核心功能或算法的实现不会被子类更改,从而保持行为的一致性。同时,`final`方法在编译时会被优化,提高执行效率。 对于变量,`...
java程序设计中,final 关键字用法,通过代码演示java程序设计中,final 关键字用法,
Java 中 static、this、super、final 的用法 静态方法(static method)是一种特殊的方法,它可以在不需要创建对象的情况下被调用。Java 中的静态方法使用 static 关键字来修饰,例如 public static void main...
在实际使用中,开发者需要按照ClassFinal的文档指导,将源代码编译成class文件后,通过ClassFinal工具进行加密处理。处理后的class文件可以被正常的Java虚拟机(JVM)加载和执行,但对试图反编译或分析的人来说,会...
`final`修饰的方法不能在子类中被重写,确保了方法实现的一致性和安全性。这对于那些不应被修改的核心算法或者安全相关的操作尤其有用。 示例: ```java public final void display() { System.out.println("This ...
这就需要使用`final`关键字来修饰这些方法,以此来阻止它们被重写。例如: ```java public final class Parent { public final void someMethod() { // 不允许子类重写此方法 } } public class Child extends ...
### Java中static、this、super、final用法详解 #### 一、static关键字 `static`关键字在Java中主要用于声明类成员(变量或方法)为静态成员。这意味着这些成员不属于任何特定的对象实例,而是属于整个类本身。因此...
final关键字的使用f
对于方法,如果一个类的方法声明为`final`,则子类不能重写这个方法。同样,如果一个类声明为`final`,则不能有任何子类。 - 最终变量:一旦赋值,就不能更改。这可以用于常量,如`Math.PI`。 - 最终方法:不允许...
Java中的final关键字是一个非常重要的修饰符,它用于声明变量、方法和类,确保它们在程序执行期间保持不变。final关键字在Java编程中的应用广泛,可以帮助提高代码的稳定性和可维护性。 1. **常量的声明** final...
数据恢复FinalData 3.0绿色版是一款强大的数据恢复软件,专为用户解决因各种原因丢失数据的问题。FinalData以其高效、安全的...通过理解其工作原理和使用方法,我们可以更好地应对数据丢失的情况,保护我们的宝贵信息。
### Final用法详解 #### 一、Final Constants(最终常量) 最终常量是指那些一旦被定义就不能再改变其值的变量。它们通常用于表示不会发生变化的值,比如圆周率π。在Java中,使用`final`关键字来声明一个最终常量...
在Java编程语言中,`final`关键字有着重要的作用,它能用于修饰类、方法和变量,以限制它们的使用方式。下面将详细解释`final`修饰类、方法和变量的具体含义及其应用场景。 **final 修饰类** `final`修饰类的作用...
本篇文章将深入探讨`final`关键字在类、方法和变量中的应用,以及它们对程序设计的影响。 首先,让我们了解`final`关键字在类中的使用。当一个类被声明为`final`时,这意味着它不能被继承。这意味着这个类是封闭的...