原文:final修饰的变量引用不能变还是对象不可变

两种情况:如果是基本数据类型,被final修饰的变量一旦初始化就不能改变 如果是引用数据类型的变量,初始化之后不能指向另外一个对象。 基本数据类型: 我们看到上面的代码a是final类型的,但是没有被初始化,所以可以给a赋值。如果a被初始化,a存储的值就不能改变了,示例如下。 如果是引用数据类型 运行结果: 我们发现变量内容变了,引用没变。 我们把String定义为final类型,那么String ...

2018-07-28 11:13 0 1373 推荐指数:

查看详情

Java中Final修饰一个变量时,是引用不能变还是引用对象能变

Java中,使用Final修饰一个变量,是引用不能变,还是引用对象能变?   是引用对象的地址不能变引用变量所指的对象的内容可以改变。   final变量永远指向这个对象,是一个常量指针,而不是指向常量的指针。   比如: final StringBuffer sb=new ...

Tue May 16 04:04:00 CST 2017 0 1590
【Java面试题】2 Java中使用final关键字修饰一个变量时,是引用不能变,还是引用对象能变?超详细解析

/* * 问题:使用final关键字修饰一个变量时,是引用不能变,还是引用对象能变 * 答: * 使用final关键字修饰一个变量时,是指引用变量能变引用变量所指向的对象中的内容还是可以改变的。 */ public class Test10 { // final修饰基本类型的变量 ...

Tue Mar 21 23:26:00 CST 2017 1 11850
final修饰变量仅仅只是不可改变嘛???

  是不是每次面试被问到final修饰的有什么不同???   final修饰的类不可以被继承、final修饰变量不可以被改变、final修饰的即表示最终的、、、、、      那常量被声明为final仅仅只是因为不可改变吗???   !#!@!&#%……!@& ...

Tue Nov 24 18:56:00 CST 2020 0 355
不可变对象”与“不可变对象引用

什么是不可变对象呢?我们都知道String是不可变的,如果有涉及大量的字符串拼接我们最好不要用String,虽然我们在代码中可以这样写: 这样写是没有错的,这是不是和我们所说的String类型时不可变的违背了呢?其实不然,我们这里看到str“改变”了值,其实不是不是真正改变 ...

Fri Oct 21 08:38:00 CST 2016 0 2268
js 不可变的原始值和可变对象引用

javascript中的原始值(undefined、null、布尔值、数字和字符串)与对象(包括数组和函数)有着根本区别。原始值是不可更改的:任何方法都无法更改(或“突变”)一个原始值。对数字和布尔值来说显然如此----改变数字的值本身就说不通,而对字符串来说就不那么明显了,因为字符串看起 ...

Sun Feb 21 00:51:00 CST 2016 0 5020
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM