[英]Gaining access to instance variables from outside classes
我對編程很新,我對類訪問有疑問。 假設我使用一堆公共變量和公共方法創建了一個名為TheClass的類。 然后我創建了幾個需要訪問TheClass實例的方法/變量的其他頂級類。 所以,當我創建一個TheClass實例並且我想通過其他頂級類訪問該實例的變量時,我理解我可以:
在創建它們時,將新的TheClass實例傳遞給每個其他類的構造函數,以便它們可以像這樣訪問TheClass實例中的那些變量:
TheClass theClass = new TheClass();
OtherClass otherClass = new OtherClass(theClass);
或者,我可以將所有其他類嵌套在TheClass中,從而讓他們可以訪問theClass實例的變量......我想?
最后,我可以使TheClass的變量/方法變為靜態,從而讓其他類在TheClass之外訪問它們,但這並不好,因為我需要訪問正在運行的TheClass實例的變量。
我問的原因是因為我最近創建了我的第一個大程序,並且我正在將一個類對象的實例傳遞給大量其他類,並且它只是跟着它變得非常繁瑣。 我覺得自己做錯了什么。 我是否忽略了從其他頂級類訪問類的實例變量方面的巨大內容?
我距離理解Java編程的基礎知識還有很長的路要走,但這是一個不斷浮出水面的問題所以我想我會在這里問一下。
這是一個常見問題,其中一個原因就是singleton pattern
, dependency injection
和application context
(它只是單例的變體)之類的東西如此受歡迎。
它們都允許您始終最小化對象的傳遞。
第一步是架構。 如果你的繼承和組合正確,它會減少這一點 - 盡管它仍然存在。
下一個選項始終是單身人士。 (應用程序上下文只使用一個Singleton然后指向該Singleton中的其他資源)。 最近,依賴注入是最受歡迎的路徑,因為它也使單元測試變得更容易。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.