原来我错了;
final 修饰的量以视为常量,
当修饰对象引用时,我错误的认为变量指向的对象是不可变的,然而对象是可变的,不可变只是“变量对对象的引用”
TestFinal
package src.test;
import java.util.HashMap;
import java.util.Map;
public class TestFinal {
private String name ;
private Map map = new HashMap ();
public TestFinal(){
name = "li" ;
}
public void put(Object key , Object value){
map.put(key, value);
}
public Object get(Object key ){
return map.get(key);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
CodeTest1
public class CodeTest1 {
final TestFinal tf = new TestFinal ();
public static void main(String[] args) {
CodeTest1 ct1 = new CodeTest1 ();
ct1.tf.setName("wew");
System.out.println(ct1.tf.getName());
}
}
分享到:
相关推荐
在Java编程语言中,`final`关键字有着重要的作用,它能用于修饰类、方法和变量,以限制它们的使用方式。下面将详细解释`final`修饰类、方法和变量的具体含义及其应用场景。 **final 修饰类** `final`修饰类的作用...
final 关键字在 Java 中有多种用法,包括修饰变量、方法、类等。下面是 final 关键字的各种用法: 1. final 修饰变量:表示该变量一旦被初始化,程序无法修改变量的值,该变量变成了一个常量。注意,系统不会默认为...
Java中的`final`修饰符是一个非常重要的关键字,它用于创建不可修改的变量、方法和类。在Java中,`final`具有以下含义: 1. **final变量**: - **成员变量**:如果一个类的成员变量(字段)被`final`修饰,那么它...
- 对于对象引用,`final`关键字并不保证对象内的状态不可变,仅保证引用本身不变。因此,对于复杂对象,如果需要确保对象状态不可变,还需要配合不可变对象的设计原则。 总的来说,`final`关键字是Java中的一种强...
在Java编程语言中,`final` 和 `static` 是两个非常重要的关键字,它们分别具有不同的含义和用法,但都对代码的结构和行为产生深远影响。本文将深入探讨这两个关键字,并结合实际示例来解释它们的应用场景。 首先,...
在Java编程语言中,`final`关键字是一种非常重要的修饰符,它可以用来限制变量、方法和类的可变性。理解并正确使用`final`对于编写安全、稳定的代码至关重要。下面我们将详细探讨`final`修饰符的用法及其背后的原理...
`final`关键字在Java中有多种用途,它可以用来修饰类、方法和变量,其主要目的是确保被修饰的对象具有不可变性或只读性。 #### 1. `final`修饰变量 当`final`用于修饰一个变量时,该变量成为常量,一旦赋值后就不...
Java 中的 final 关键字可以修饰数据、方法和类,今天我们主要讨论 final 修饰数据的过程解析。final 修饰的数据代表着:永远不变。意思是,一旦你用 final 修饰一块数据,你之后就只能看看它,你想修改它,没门。 ...
Java中的`final`和`static`关键字是编程中非常重要的两个修饰符,它们分别用于不同的场景,以确保代码的稳定性和高效性。 首先,`final`关键字主要用于表示不可变性。它可以用来修饰类、方法和变量。对于类,如果一...
要访问实例变量和方法,需要先创建对象实例,然后通过对象引用进行访问。 总的来说,Java语言中的修饰符是实现面向对象编程的关键工具,它们帮助我们控制代码的可见性、实现抽象、确保不变性和优化代码结构。正确...
在 Java 编程语言中,final 和 static 是两个非常重要的关键字,它们可以用来修饰类、方法、变量等,了解它们的使用方法和限制非常重要。本文将详细总结 final 和 static 的使用方法和限制。 一、final 关键字 ...
Java中的`final`修饰符是一个非常关键的概念,它在编程中起到了不可变性的作用,确保了数据的安全性和代码的稳定性。下面将详细讲解`final`修饰符在不同场景下的应用和注意事项。 1. **final修饰类** 当`final`...
总结来说,`final`关键字在Java中扮演了多种角色,包括创建不可变变量、常量、对象和数组,确保方法和类的不可覆盖性,以及在多线程环境中的安全性。正确使用`final`能够提高代码的清晰度、稳定性和性能。
在Java编程语言中,面向对象编程(Object-Oriented Programming, OOP)是其核心特性之一。这个文档详细介绍了Java中的`final`关键字在面向对象基础中的应用。`final`关键字在Java中扮演着重要的角色,它用于创建不可...
动态绑定可以实现多态性,通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用。 四、访问权限修饰符 访问权限修饰符是指在 Java 中用来控制类、方法和变量的访问权限的关键字。常见的访问权限修饰符有:...
在Java编程中,`final`修饰符和类型转化是两个重要的概念,它们分别涉及类的继承限制和对象的类型转换。 1. `final`修饰符: - `final`类:当一个类被声明为`final`时,它无法被其他类继承。这通常用于防止他人...
JAVA类与对象及数组习题 JAVA类和对象及数组是JAVA编程...在JAVA中,变量的类型可以是基本类型或引用类型,例如`int`、`String`等。 14. 编程实践: 通过实际编程实践,可以加深对JAVA类和对象及数组的理解和应用。
Java作为一门广泛使用的编程语言,拥有丰富的语法结构和关键字,其中修饰词(modifiers)是Java语言中的重要组成部分,用于限定类、方法、字段等的访问级别、生命周期以及特性。以下是对Java中11个修饰词的详细介绍...
Java 中的 final 变量是指不能被改变的变量,它有三个方面的作用:修饰变量、修饰方法和修饰类。在 Java 中,final 变量是一种常量,它只能被赋值一次,赋值后值不再改变。 final 变量的使用方法有多种,例如在变量...