我是Java新手。有一件事讓我困惑,爲什麼有些類需要new
實例化,以及爲什麼其他一些類不需要new
實例化。爲什麼有些類在創建實例時不需要「新建」一詞?
例如,我在看log4j,它不需要new
。
爲什麼其他一些類需要新的?例如,一個Employee類:
Employee X = new Employee (John);
X.getwork();
等等等等
爲什麼我們不說,Logger logger = new Logger(...);
?爲什麼我們能夠使用它,即使沒有new
,就像logger.setLevel()
等
[工廠方法模式](http://en.wikipedia.org/wiki/Factory_method_pattern) – oldrinb
'Logger.getLogger'在內部調用'Logger'。總是有一個構造函數調用 - 只是不總是在*你的代碼中。 – Blorgbeard
WOW這個在短時間內有很多答案... – Doorknob