2016-04-04 65 views
0

有一個MCQ(多項選擇題),而我讀我的Java學習叢書和MCQ是:在內部和外部類的情況下,Java的

問題:在內部和外部類的情況下, _________

選項包括

的(a)外類的成員不能由內部類訪問。

(b)內部類的成員不能被外部類訪問。

(c)兩者的成員均可由兩個類訪問。 (d)這些都不是。

書上答案的關鍵給出的答案是(B),但我不覺得這是正確的答案,因爲外部類可以訪問其內部類的成員,我認爲。所以請幫助我什麼是正確的。

謝謝,祝你有美好的一天:)

+0

什麼是MCQ? –

+0

您是否嘗試編寫簡單的測試用例?請在發佈之前至少做到這一點,所以有一個具體的例子可以使用。 –

+0

@JimGarrison多項選擇題。我編輯過。待批准。 – RubioRic

回答

0

對不起,我感到困惑。

您可以同時訪問內部類和外部類。我建議嘗試一個簡單的例子,雖然你自己編程是你通過自己的問題只能學習的東西之一。

請參閱本,因爲這可能幫助:Can an outer class access the members of inner class?

+1

你是說「外部班級不能從內部班級訪問」?請張貼一個例子,因爲我認爲這是錯的,否則我不理解你說的正確。 – ajb

+0

@ajb我編輯了我的答案。 – Porteous96

0

可以使簡單一些代碼

public class A { 
    public int a = 1; 
    public class B { 
     public int b = 2; 
     public int getAfromB() { return a; } // ACCESS OUTER CLASS MEMBER IMPLICITLY 
     public int getBfromB() { return b; } 
    } 
    public int getBfromA() { 
     B myB1 = new B(); 
     B myB2 = new B(); 
     return myB1.b + myB2.b; 
    } 
} 

的乙實例鏈接到一個特定的一個實例,它屬於實例範圍內。在其範圍內,定義了A類的成員。

A類可以處理B類的幾個實例。它能夠操縱它們,但不能隱式地訪問特定的實例成員,僅僅因爲'b'從它的角度來看並不是唯一的。

相關問題