国产探花免费观看_亚洲丰满少妇自慰呻吟_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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东乡县| 阿城市| 迭部县| 甘谷县| 新安县| 修水县| 永福县| 余江县| 台湾省| 陆河县| 鹿泉市| 鄄城县| 砚山县| 西林县| 铁力市| 兖州市| 阳谷县| 丰城市| 灌南县| 房产| 高平市| 平江县| 抚宁县| 夏津县| 祁东县| 秀山| 全椒县| 乐平市| 元谋县| 靖远县| 三都| 武隆县| 綦江县| 溆浦县| 绍兴市| 宜君县| 兴安盟| 望奎县| 松滋市| 蒙山县| 亳州市|