2015-05-14 80 views
0

我需要爲我的班級做一個java程序。 我做到了,效果很好。接口類與類

在我的代碼中,我有一些私有方法。我是否需要構建一個接口類來隱藏這些私有方法,或者它們可以與公共方法在同一個類中?

目前(公共和私人)所有方法都是在同一個班,但我的同事堅持認爲我需要創建一個接口來隱藏私有方法

+0

就這樣我們很清楚,接口不允許私人成員。 –

回答

5

不,你並不需要創建一個接口。如果你只是通過接口使用這個類,那麼一個接口會將它們隱藏得更多(從人們的眼中,而不是從代碼),但即使沒有接口,私有方法也不會被其他類使用。

0

如果您想完全實施「代碼到接口」指南,您可以聲明interface爲您的public方法實施。

你絕對不能做的是在接口中聲明方法,然後在你的類中實現它們作爲private - 這會降低可見性,甚至不能編譯。

最終private方法僅限於您的類的範圍。

0

這可能有助於重複「什麼是接口的目的?」

是:「什麼的,至於其他人應該關注的,這個事情正式申報‘給’,‘需要’和‘做’。」

所以...如果一個客戶端類想要處理「實現這個接口的東西」,以及其他五個類(,其中包括彼此的兄弟姐妹或祖先......),各自以自己的方式這樣做,然後:五個中的任何一個都可以兼容。爲什麼?因爲它們提供接口所需的所有屬性和/或方法。 (這就是「實施」的意思。)

這些都沒有暴露客戶的任何「私人事物」。實際上,一個界面絕對沒有說這個類如何實際上做它所要做的事,也不知道其他它做什麼。 「滿足界面的要求,你就可以得到這份工作。」