2013-11-04 64 views
1

Alpha.java在Java對象和類之間的關係

class Alpha { 
    private void iamprivate() { 
    System.out.println("iamprivate"); 
    } 
} 

Beta.java

class Beta { 
    void accessMethod() { 
    Alpha a = new Alpha(); 
    a.iamprivate();  // illegal 
    } 
} 

阿爾法類的實例應該具有的所有變量和類的方法。

但是,爲什麼我們不能調用所有對象的方法? 僅僅因爲有些方法是私人的?

看起來類的實例在類的定義之外沒有類的私有成員。

對不起,我完全是初學者。這個問題可能很愚蠢。

+0

Google「java知名度」 – Bohemian

+3

是的,「private」意味着「只能在定義的類中使用」。 –

回答

1

你的方法是私有

private void iamprivate() { 

它只能使用內部類的,而不是由實例。將其更改爲public

1

但是,我們爲什麼不能調用所有對象的方法?僅僅因爲一些 方法是私人的?

私有方法不會暴露給外部世界,但您始終可以在該類中調用私有方法。

它看起來像類的實例沒有的類定義之外的類的私有 成員。

類擁有所有的屬性,無論他們是私人/公共。只是私人成員被禁止在課堂外進行訪問。

相關問題