/* 
* 问题:使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变 
* 答: 
* 使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。 
*/ 
public class Test10 {
// final修饰基本类型的变量 
public static final char CHAR = '中'; 
// final修饰引用类型的变量 
public static final StringBuffer a = new StringBuffer("StringBuffer");

public static void main(String[] args) { 
// 编译报错,引用不能变 
// a = new StringBuffer("hehe"); 
// 引用变量所指向的对象中的内容还是可以改变的 
a.append("xxx");

}

public static int method1(final int i) { 
// i = i + 1;// 编译报错,因为final修饰的是基本类型的变量 
return i; 
}

// 有人在定义方法的参数(引用变量)时,可能想采用如下的形式来阻止方法内部修改传进来的参数对象, 
// 实际上,这是办不到的,在该方法内部任然可以增加如下代码来修改参数对象 
public static void method2(final StringBuffer buffer) { 
buffer.append("buffer");// 编译通过,因为final修饰的是引用类型的变量 

}

转载于:https://www.cnblogs.com/pypua/articles/8553950.html

【Java面试题】3 Java中使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?超详细解析...相关推荐

  1. 使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?

    使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的.

  2. 用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变

    使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变 答: 使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的. 代码 public ...

  3. js基础知识:es6中,当对象中的key名称为一个变量时,需要用`[]`括起来

    es6中,当对象中的key名称为一个变量时,需要用[]括起来

  4. 【java面试题】Java面试宝典2013版(超长版),抽象类是否可继承实体类

    一. Java基础部分......................................................................................... ...

  5. Java final关键字修饰变量Test

    使用 final 关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的. package com.test; /*** final修饰一个变量练习* @author M ...

  6. final关键字_深入分析Java中的final关键字

    Java中被final修饰的变量与普通变量有何区别?被final修饰的变量不可更改.被final修饰的方法不可重写是怎样做到的?带着疑问我们一点点拨开云雾. 一.final的内存定义及规则 对于fin ...

  7. java取出字符串中的后四位_[原]Java面试题-将字符串中数字提取出来排序后输出...

    [Title][原]Java面试题-将字符串中数字提取出来排序后输出 [Date]2013-09-15 [Abstract]很简单的面试题,要求现场在纸上写出来. [Keywords]面试.Java. ...

  8. 浅谈Java中的final关键字

    浅析Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来 ...

  9. 浅析Java中的final关键字

    浅析Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来 ...

最新文章

  1. ZeroC ICE java异步实现方式(ami/amd)
  2. python监听鼠标事件_Python中使用PyHook监听鼠标和键盘事件实例
  3. linux备份目录命令tar,Tar命令备份还原Linux系统
  4. Bootstrap页面布局17 - BS选项卡
  5. Java多线程学习(二)
  6. 为什么列存储能够大幅度提高数据的查询性能?
  7. UML之用例图箭头方向
  8. 第四季-专题19-I2C驱动程序设计
  9. php全表搜索,搜索整个表? PHP MySQL
  10. 【全网最全】Python Package Installer (pip)镜像源使用
  11. JS函数传参是传值还是传引用
  12. 亚马逊买家多账号如何运行管理?
  13. java8的stream写法实现去重
  14. c# webbrowser html5,C#设置WebBrowser IE浏览器版本
  15. FFMPEG命令汇总
  16. Java编译成功但是运行不成功的原因
  17. 阿里云弹性计算技术专家樊毅伟:云上成本优化实践
  18. 转:结构化风险模型与业绩归因
  19. 大数据开发岗位的几个方向
  20. ofdm 迭代限幅 matlab,ofdm限幅法matlab的程序

热门文章

  1. html table相关标签和属性
  2. ASP.NET 的数据绑定,DataList,Repeater 的绑定示例
  3. Linux下Minigui开发环境的搭建(PC+S3C2440
  4. 在Mac下安装使用OpenCV
  5. hadoop1.2.1伪分布模式安装教程
  6. 在windows下使用llvm+clang
  7. golang函数后的 {
  8. MySQL第9天:MySQL索引优化分析之join查询
  9. C++中#if 0 ... #endif的用法
  10. stm32f10x_it.c 定义的程序列表模板(stm32f103x_it.c中放的是中断的空函数)