返回物件(轉)
返回物件(轉)[@more@]方法能夠返回任何型別的資料,包括你建立的類的型別。例如,在下面的程式中,incrByTen() 方法返回一個物件,在該物件中的值a比呼叫物件中的值a大10。
// Returning an object.
class Test {
int a;
Test(int i) {
a = i;
}
Test incrByTen() {
Test temp = new Test(a+10);
return temp;
}
}
class RetOb {
public static void main(String args[]) {
Test ob1 = new Test(2);
Test ob2;
ob2 = ob1.incrByTen();
System.out.println("ob1.a: " + ob1.a);
System.out.println("ob2.a: " + ob2.a);
ob2 = ob2.incrByTen();
System.out.println("ob2.a after second increase: "
+ ob2.a);
}
}
該程式產生的輸出如下所示:
ob1.a: 2
ob2.a: 12
ob2.a after second increase: 22
正如你看到的,每次呼叫incrByTen() ,就產生一個新物件,同時將它的引用返回到呼叫子程式。
上面的程式還有另外重要的一點:既然所有的物件用關鍵字new動態地分配記憶體,你不必擔心一個物件會出範圍,因為它被其建立的方法終止。只要你程式中有它的一個引用,該物件將會繼續存在。當沒有該物件的引用時,在下一次垃圾回收發生時該物件將被回收。
// Returning an object.
class Test {
int a;
Test(int i) {
a = i;
}
Test incrByTen() {
Test temp = new Test(a+10);
return temp;
}
}
class RetOb {
public static void main(String args[]) {
Test ob1 = new Test(2);
Test ob2;
ob2 = ob1.incrByTen();
System.out.println("ob1.a: " + ob1.a);
System.out.println("ob2.a: " + ob2.a);
ob2 = ob2.incrByTen();
System.out.println("ob2.a after second increase: "
+ ob2.a);
}
}
該程式產生的輸出如下所示:
ob1.a: 2
ob2.a: 12
ob2.a after second increase: 22
正如你看到的,每次呼叫incrByTen() ,就產生一個新物件,同時將它的引用返回到呼叫子程式。
上面的程式還有另外重要的一點:既然所有的物件用關鍵字new動態地分配記憶體,你不必擔心一個物件會出範圍,因為它被其建立的方法終止。只要你程式中有它的一個引用,該物件將會繼續存在。當沒有該物件的引用時,在下一次垃圾回收發生時該物件將被回收。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-958014/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 統一controller返回物件Controller物件
- data (){..} 返回一個物件或者不返回物件,兩種寫法的差異比較物件
- JS json字串轉物件、物件轉字串JSON字串物件
- Android之Retrofit2.0 處理返回json報文並轉換成bean物件AndroidJSONBean物件
- 物件轉型物件
- 鏈式-父類中返回子類物件物件
- jquery物件如何轉化成DOM物件jQuery物件
- requests返回值cookies轉字典Cookie
- 物件傳參、返回與接收的最佳化物件
- 統一返回物件和異常處理(二)物件
- 統一返回物件和異常處理(一)物件
- RestTemplate處理巢狀的複雜返回物件REST巢狀物件
- 轉向Kotlin——物件Kotlin物件
- js jquery 列印物件;json 物件轉字串jQuery物件JSON字串
- 關於Redis的問題探討(二):Range方法返回的物件是LinkeHashMap以及轉換辦法Redis物件HashMap
- 使用@ResponseBody物件轉json和@RequestBody進行json轉物件案例物件JSON
- JavaScript字串物件 之 根據字元返回位置、根據位置返回字元、字串操作方法JavaScript字串物件字元
- 到底getApplicationContext和getApplication是不是返回同一個物件?APPContext物件
- Django | Mysql 返回不合法的日期時間物件DjangoMySql物件
- Laravel 手動建立分頁返回物件結果集Laravel物件
- java 請求HTTP返回json集合,物件處理方式JavaHTTPJSON物件
- jquery物件和DOM物件的互相轉換jQuery物件
- jQuery 物件 與 原生 DOM 物件 相互轉換jQuery物件
- 物件賦值轉換物件賦值
- js物件轉json字串物件JSON字串
- 【JQuery】DOM物件和JQuery物件的互相轉換jQuery物件
- eval() JSON轉換為物件JSON物件
- vue js 物件轉陣列VueJS物件陣列
- mapstruct解放Java物件轉換StructJava物件
- 重編譯 invalid 物件(轉)編譯物件
- Java物件轉換成MapJava物件
- xlua中lua物件到c#物件的轉型物件C#
- PostgreSQL中將物件oid和物件名相互轉換SQL物件
- 監聽瀏覽器返回,pushState,popstate 事件,window.history物件瀏覽器事件物件
- 關於 SAP UI5 ODataModel.createEntry 返回的 context 物件UIContext物件
- Laravel 8 控制器可以直接返回物件給檢視嗎?Laravel物件
- 一些轉儲和清除記憶體物件和物理物件的命令(轉)記憶體物件
- 【轉】[C#] 建立返回多個值的方法C#
- jQuery物件和DOM物件和字串之間的轉化jQuery物件字串