2016-08-25 30 views
0

我有一個包裝「A」與界面「形狀」,並實施類「矩形」。接口和類都具有默認訪問權限。現在我有另一個包「B」與類「ShapeTester」。在這個ShapeTester類中,我嘗試實例化Rectangle類或嘗試聲明Shape類型的變量,並得到預期的編譯錯誤。 但是在ShapeTester類中,如果我使用Spring容器來創建bean,它將創建類Rectangle的bean。爲什麼spring容器甚至爲沒有檢查訪問限制的默認訪問類創建bean?

Spring框架沒有錯誤地創建bean,甚至沒有檢查到爲Rectangle創建bean的類甚至不知道任何這樣的Rectangle類甚至存在?

回答

0

Spring只是創建對象實例。從啓動彈簧容器的類或包裝開始無關緊要。

java的可見性概念與靜態關係更相關。例如,如果你在包a中有一個類A,那麼所有規則都基於這個。如果類A由其他包中的類B實例化,則無關緊要。

相關問題