【Java面试题】3 Java中使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?超详细解析...
/*?
* 問題:使用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关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?超详细解析...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ES6 快速入门
- 下一篇: C利用time函数实现简单的定时器