使用 final 关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。例如,对于如下语句:final StringBuffer a=new StringBuffer("immutable");执行如下语句将报告编译期错误:a=new StringBuffer ...
Java中,使用Final修饰一个变量,是引用不能变,还是引用对象不能变 是引用对象的地址不能变,引用变量所指的对象的内容可以改变。 final变量永远指向这个对象,是一个常量指针,而不是指向常量的指针。 比如: final StringBuffer sb new StringBuffer abc 对sb重新赋值 sb new StringBuffer cde 会出现编译错误,被final修饰的变 ...
2017-05-15 20:04 0 1590 推荐指数:
使用 final 关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。例如,对于如下语句:final StringBuffer a=new StringBuffer("immutable");执行如下语句将报告编译期错误:a=new StringBuffer ...
java中使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? 是引用对象的地址值不能变,引用变量所指向的对象的内容是可以改变。 final变量永远指向这个对象,是一个常量指针,而不是指向常量的指针。 例如:final StringBuffer sbu = new ...
使用final关键字修饰一个引用类型变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。 测试代码如下: ...
/* * 问题:使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变 * 答: * 使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。 */ public class Test10 { // final修饰基本类型的变量 ...
两种情况:如果是基本数据类型,被final修饰的变量一旦初始化就不能改变;如果是引用数据类型的变量,初始化之后不能指向另外一个对象。 基本数据类型: 我们看到上面的代码a是final类型的,但是没有被初始化,所以可以给a赋值。如果a被初始化,a存储的值就不能改变了,示例 ...
final 修饰一个变量,有很多种说法,比如不能改变等等 准确的描述是 当一个变量被final修饰的时候,该变量只有一次赋值的机会 在声明的时候赋值 i在第4行已经被赋值过了,所以这里会出现编译错误 在声明的时候没有赋值 如果在声明的时候未赋值 ...
这次有两个主题,第一个太简单啦,就是java中变量的命名规则,纯记忆性东西。第二个主题,就是讨论一下对象引用变量的一个注意点。 如果你对命名规则很熟啦,就直接看第二个内容吧。(上边的图稍微有点顺序紊乱啊) 一、java中变量的命名规则 大多数语言的命名规则是相似的,只有一些 ...
今天编写一个多线程程序,发现在方法内定义内部类时,如果内部类调用了方法中的变量,那么该变量必须申明为final类型,百思不得其解,后来想到应该是生命周期的原因,因为方法内定义的变量是局部变量,离开该方法,变量就失去了作用,也就会自动被消除,而内部类却不会离开它所在方法就失去作用,它有更广 ...