@@ -131,7 +131,7 @@ public class Account {
131
131
<pre >Account account1 = new Account();
132
132
Account account2 = new Account("123-4567", 100.0);</pre >
133
133
134
- 在上面的程式片段中宣告了 account1 與 account2 兩個 Account 型態的參考名稱,並讓它們分別參考至物件,account1 所參考的物件在建立時並不指定任何引數,所以根據之前對 Account 類別的定義,account1 所參考物件的 balance 將設定為 0.0,accountNumber 設定為 "empty";accont2 所參考的物件在新建時則給定兩個引數,所以 account2 所參考物件的 balance 設定為 100.0,而 accountNumber 設定為 "empty "。
134
+ 在上面的程式片段中宣告了 account1 與 account2 兩個 Account 型態的參考名稱,並讓它們分別參考至物件,account1 所參考的物件在建立時並不指定任何引數,所以根據之前對 Account 類別的定義,account1 所參考物件的 balance 將設定為 0.0,accountNumber 設定為 "empty";account2 所參考的物件在新建時則給定兩個引數,所以 account2 所參考物件的 balance 設定為 100.0,而 accountNumber 設定為 "123-4567 "。
135
135
136
136
要透過公開成員來操作物件或取得物件資訊的話,可以在物件名稱後加上「.」運算子來進行,例如:
137
137
<pre >account1.getBalance();
@@ -359,7 +359,7 @@ public class SafeArrayDemo {
359
359
360
360
### 7.1.5 關於 this
361
361
362
- 請您回顧一下範例 7.1,在範例的 Account 類別中定義有 accountNumber 與 balance 成員,當您使用 Account 類別新增兩個物件並使用 account1 與 account2 來參考時,account1 與 account2 所參考的物件會各自擁有自己的 accountNumber 與 balance 資料成員,然而方法成員在記憶體中會只有一份,當您使用 account1.getBalance() 與 account1 .getBalance() 方法取回 balance 的值時,既然類別的方法成員只有一份,getBalance() 時如何知道它傳回的 balance 是 account1 所參考物件的 balance,還是 account2 所參考物件的 balance 呢?
362
+ 請您回顧一下範例 7.1,在範例的 Account 類別中定義有 accountNumber 與 balance 成員,當您使用 Account 類別新增兩個物件並使用 account1 與 account2 來參考時,account1 與 account2 所參考的物件會各自擁有自己的 accountNumber 與 balance 資料成員,然而方法成員在記憶體中會只有一份,當您使用 account1.getBalance() 與 account2 .getBalance() 方法取回 balance 的值時,既然類別的方法成員只有一份,getBalance() 時如何知道它傳回的 balance 是 account1 所參考物件的 balance,還是 account2 所參考物件的 balance 呢?
363
363
364
364
![ 物件實例擁有自己的資料成員] ( ../images/img07-04.png )
365
365
@@ -737,7 +737,10 @@ public class UseRecursion {
737
737
圖 7.5 沒有被名稱參考到的物件資源將會被回收
738
738
739
739
範例7.13簡單的示範了finalize()方法的使用。
740
+
740
741
範例7.13 GcTest.java
742
+
743
+ ``` java
741
744
public class GcTest {
742
745
private String name;
743
746
@@ -750,7 +753,8 @@ public class GcTest {
750
753
protected void finalize () {
751
754
System . out. println(name + " 被回收" );
752
755
}
753
- }.
756
+ }
757
+ ```
754
758
755
759
使用範例 7.14來作個簡單的執行測試。
756
760
@@ -798,4 +802,4 @@ public class UseGC {
798
802
- 瞭解靜態(static)成員的作用
799
803
- 瞭解如何重載方法
800
804
801
- 在物件導向程式設計中,只是單純的封裝物件特性只能解決一部份的問題,有時候您必須提取出物件的共同抽象特性並加以定義,然後再「繼承」(Inherit)抽象的定義對個別的物件加以實作,有時您必須繼承某個類別並重新改寫類別中的某些定義,這在下一個章節中都會加以說明,並且您也將瞭解「抽象類別」(Abstract class)與「介面」(Interface)的不同。
805
+ 在物件導向程式設計中,只是單純的封裝物件特性只能解決一部份的問題,有時候您必須提取出物件的共同抽象特性並加以定義,然後再「繼承」(Inherit)抽象的定義對個別的物件加以實作,有時您必須繼承某個類別並重新改寫類別中的某些定義,這在下一個章節中都會加以說明,並且您也將瞭解「抽象類別」(Abstract class)與「介面」(Interface)的不同。
0 commit comments