天天看點

Java 的對象傳遞

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>

==&gt;  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>

==&gt; 測試類

<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> 

本文轉自   tianshuai369   51CTO部落格,原文連結:http://blog.51cto.com/songqinglong/2071878