public class FinalReferenceTest {
public static final StringBuffer sb = new StringBuffer();
public static void main(String[] args){
sb.append("hello");
}
}
public class FinalReferenceTest {
public static final StringBuffer sb = new StringBuffer();
public static void main(String[] args){
sb.append("hello");
}
}
问题1:上面的程序能否编译通过?如果能,说明理由,如果不能,请说明理由。
解答:能编译通过。
分析:对于final修饰的引用类型,到底这个引用不能变还是这个引用指向的对象的内容不能变?答案是引用不能改变,而引用指向的内容是可以改变的。
问题2:上面的程序在语句sb.append("hello");后面添加语句 sb = new StringBuffer()能否编译通过?如果能,说明理由,如果不能,请说明理由。
解答:不能编译通过。
分析:由于对于final修饰的引用类型,是引用不能改变,而引用指向的内容是可以改变的。因为sb已经指向了第一次new...产生的对象,已经不能改变,所以在语句sb.append("hello");后面添加语句 sb = new StringBuffer()是不能编译通过的。
总结:对于final类型的引用变量来说,所谓的不能改变指的是该引用不能改变。
分享到:
相关推荐
Java常见笔试_面试题目深度剖析
Java常见笔试,面试题目深度剖析Java常见笔试,面试题目深度剖析Java常见笔试,面试题目深度剖析Java常见笔试,面试题目深度剖析Java常见笔试,面试题目深度剖析
Java常见笔试、面试题目深度剖析,寻找工作最佳利器
Java常见笔试、面试题目深度剖析 final详解
Java常见笔试、面试题目深度剖析第二、三讲下载地址 网上只能找到第一个,这两个是第二、三个,没有加密。 直接可以看
]Java常见笔试、面试题目深度剖析
风中叶 Java常见笔试、面试题目深度剖析Java 笔试 面试 题目。 Java常见笔试、面试题目深度剖析(风中叶).rar Java 笔试 面试 题目
Java常见笔试、面试系列深度剖析第2讲 张龙 风中叶
Java常见笔试面试题目深度剖析,花钱买的浪曦视频所做的笔记,分享上来
Java常见笔试、面试题目深度剖析 Java数组与异常详解
Java常见笔试、面试系列深度剖析第三讲 Java常见笔试、面试系列深度剖析第三讲
Java常见笔试、面试系列深度剖析第2讲,张龙,风中叶
java常见笔试、面试题深度剖析 之 String 相关 之后的29个请大家等待
Java面试笔试常见题目 Java面试笔试常见题目
java基础笔试面试题目 Word版 经典
Java程序员面试笔试真题与解析,包含各大IT企业面试笔试的题目
Java常见笔试、面试题目深度剖析 反射详解