Java 的對象傳遞
舉一個簡單的例子說明一下
需求:通過關聯兩個類,使可以通過Person 對象擷取所關聯的 Car 類的對象中的資料
一個 Person 類,一個 Car 類,
==> Person 類
<code>class</code> <code>Person{</code>
<code> </code><code>// 設定變量</code>
<code> </code><code>private</code> <code>int</code> <code>pid;</code>
<code> </code><code>private</code> <code>String pname;</code>
<code> </code><code>private</code> <code>int</code> <code>page;</code>
<code> </code><code>private</code> <code>Car carname;</code>
<code> </code>
<code> </code><code>// 多參構造方法</code>
<code> </code><code>public</code> <code>Person(String pname, </code><code>int</code> <code>page){</code>
<code> </code><code>this</code><code>.setPname(pname);</code>
<code> </code><code>this</code><code>.setPage(page);</code>
<code> </code><code>}</code>
<code> </code><code>public</code> <code>String getInfo(){</code>
<code> </code><code>return</code> <code>"姓名: "</code> <code>+ getPname() + </code><code>"\r"</code> <code>+ </code><code>"年齡:"</code> <code>+ getPage() + </code><code>"\r"</code><code>;</code>
<code> </code><code>public</code> <code>void</code> <code>setCarName(Car carname){</code>
<code> </code><code>this</code><code>.carname = carname;</code>
<code> </code><code>public</code> <code>Car getCarName(){</code>
<code> </code><code>return</code> <code>this</code><code>.carname;</code>
<code> </code><code>public</code> <code>void</code> <code>setPname(String pname){</code>
<code> </code><code>this</code><code>.pname = pname;</code>
<code> </code><code>public</code> <code>String getPname(){</code>
<code> </code><code>return</code> <code>this</code><code>.pname;</code>
<code> </code><code>public</code> <code>void</code> <code>setPage(</code><code>int</code> <code>page){</code>
<code> </code><code>this</code><code>.page = page;</code>
<code> </code><code>public</code> <code>int</code> <code>getPage(){</code>
<code> </code><code>return</code> <code>this</code><code>.page;</code>
<code>}</code>
==> Car 類
<code>class</code> <code>Car{</code>
<code> </code><code>private</code> <code>String cname;</code>
<code> </code><code>private</code> <code>Person pname;</code>
<code> </code><code>// 構造函數</code>
<code> </code><code>public</code> <code>Car(String cname){</code>
<code> </code><code>this</code><code>.setCname(cname);</code>
<code> </code><code>}</code>
<code> </code>
<code> </code><code>public</code> <code>void</code> <code>setPname(Person pname){</code>
<code> </code><code>this</code><code>.pname = pname;</code>
<code> </code><code>public</code> <code>Person getPname(){</code>
<code> </code><code>return</code> <code>this</code><code>.pname;</code>
<code> </code><code>public</code> <code>void</code> <code>setCname(String cname){</code>
<code> </code><code>this</code><code>.cname = cname;</code>
<code> </code><code>public</code> <code>String getCname(){</code>
<code> </code><code>return</code> <code>this</code><code>.cname;</code>
<code> </code><code>public</code> <code>String getCarInfo(){</code>
<code> </code><code>return</code> <code>"車名:"</code> <code>+ getCname();</code>
==> 測試類
<code>public</code> <code>class</code> <code>testDemo {</code>
<code> </code><code>public</code> <code>static</code> <code>void</code> <code>main(String[] args) {</code>
<code> </code><code>Person p = </code><code>new</code> <code>Person(</code><code>"Tom"</code><code>, </code><code>20</code><code>);</code>
<code> </code><code>Car car = </code><code>new</code> <code>Car(</code><code>"寶馬"</code><code>);</code>
<code> </code><code>p.setCarName(car);</code>
<code> </code><code>car.setPname(p);</code>
<code> </code><code>System.out.println(p.getInfo());</code>
<code> </code><code>// 通過 Person 對象擷取 其 Car 對象中的内容</code>
<code> </code><code>System.out.println(p.getCarName().getCarInfo());</code>
<code> </code><code>// 通過 Car 對象擷取 Person 對象中的内容 </code>
<code> </code><code>System.out.println(car.getPname().getPname());</code>
<code> </code>
本文轉自 菜鳥的征程 51CTO部落格,原文連結:http://blog.51cto.com/songqinglong/2071878