国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

final、static、static final修飾引用類型時的區別

2019-11-08 02:23:33
字體:
來源:轉載
供稿:網友

總結:

final修飾的引用類型:是在堆內存new出來的;(如對象)可以被賦值一次,引用地址不可變,但對象里面的內容(如屬性值)可以變。

static修飾的引用類型:是在加載類的時候,load到方法區的;是這個類的實例共有的類方法or屬性;引用的地址可以變,里面具體的內容也可以變

static final修飾的引用類型:是在加載類的時候,load到方法區的(同static);可以被賦值一次,引用地址不可變,但對象里面的內容(如屬性值)可以變(同final);

public class test2 {

// final修飾基本類型的變量public static StringBuffer a = new StringBuffer("StringBuffer");// final修飾引用類型的變量public static final StringBuffer b = new StringBuffer("StringBuffer");//public final StringBuffer c = new StringBuffer("StringBuffer");public static void main(String[] args) {// 編譯報錯,引用不能變test2 t = new test2();a = new StringBuffer("hehe");// b = new StringBuffer("hehe");//b和c都是final的,無法被重新賦值// t.c = new StringBuffer("hehe");// 引用變量所指向的對象中的內容還是可以改變的a.append("xxx");

System.out.PRintln(a);//得到hehexxx

b.append("lalal");System.out.println(b);//得到StringBufferlalal

}public static int method1(final int i) {// i = i + 1;// 編譯報錯,因為final修飾的是基本類型的變量return i;}// 有人在定義方法的參數(引用變量)時,可能想采用如下的形式來阻止方法內部修改傳進來的參數對象,// 實際上,這是辦不到的,在該方法內部仍然可以增加如下代碼來修改參數對象public static void method2(final StringBuffer buffer) {buffer.append("buffer");// 編譯通過,因為final修飾的是引用類型的變量}

}

參考:

1、http://blog.csdn.net/tengdazhang770960436/article/details/25156743

2、http://blog.csdn.net/u012110719/article/details/46334413


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蕉岭县| 丹阳市| 垦利县| 临安市| 绍兴市| 尤溪县| 甘孜| 彭山县| 桃园县| 汤阴县| 桦甸市| 宜宾市| 凤冈县| 田东县| 资阳市| 长沙县| 家居| 高邑县| 惠州市| 贵港市| 罗山县| 安丘市| 北流市| 杂多县| 恩施市| 扬州市| 乡宁县| 清水河县| 德清县| 临高县| 吉隆县| 井研县| 孟津县| 贞丰县| 安岳县| 武鸣县| 赤城县| 贞丰县| 成武县| 北辰区| 岢岚县|