2015-01-10 21 views
-2

在Java中,當您將對象傳遞給另一個對象時(例如,將object1傳遞給object2),對象2是否會繼承所有object1的屬性,如方法和變量,究竟發生了什麼?在Java中傳遞對象

+6

你所說的「傳遞一個對象到另一個對象」,因爲這是一個很曖昧的說法是什麼意思?請更詳細地描述你正在嘗試做什麼並展示一些代碼。 –

+0

顯示你的意思。 – Kon

+0

我認爲這是針對這個問題:http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value –

回答

0

IS-A

繼承可以被定義爲處理的關係,其中的另一個object acquires 屬性。通過使用繼承,信息 可以按層次順序進行管理。

這意味着您可以訪問您的子類中的超類成員和方法。

class A{ 
    int a; 
    } 

class B extends A{ 

} 

int a得到繼承了B類,所以你可以使用它在BRead more

類,否則不能一個對象傳遞到另一個對象。

軟件對象溝通和相互以兩種方式進行交互:
1.通過調用(或調用)對方的方法
2.通過直接訪問它們的變量。

Read more

+0

「B類擴展A類」不會編譯 – Victor2748

+0

@ Victor2748 ohh編輯感謝突出我的錯誤。 –

+0

謝謝。如果可以使用繼承,將(對象,類)傳遞給方法或構造函數有什麼好處? – tyonne

2

在Java中繼承是不同的概念相比,傳遞對象給其他object.Actually你不能傳遞一個對象到另一個對象,可以傳遞對象的方法。

Check this傳遞對象功能

您可以訪問實例方法/使用對象的實例變量。

class SuperClass{ 
    public void method(){ 
    //.... 
    //... 
    } 
} 

public class Example{ 
    public void example(SuperClass object) 
    { 
     //you cannot directly call super class method 
     //if you want to call then use Object 
     object.method() 
    } 
} 

在繼承中,您可以使用對象訪問實例變量/方法到該類。

class SuperClass{ 
    void method(){ 
     //.... 
     //... 
    } 
} 

class Example extends SuperClass{ 

    public void exampleMethod() 
    { 
     //You can directly call superclass method here 
     method() 
    } 
} 

有關繼承check詳情

+0

謝謝,當你說你可以訪問對象但不是全部它的屬性,這是什麼意思?如果可以繼承,那麼將對象傳遞給構造函數或方法會有什麼好處?謝謝 – tyonne

+0

相應地編輯了答案.. @tyonne –