Soy nuevo en Java. Una cosa me confunde es por qué algunas de las clases necesitan new
para instanciar, y por qué algunas otras NO necesitan new
para crear instancias.¿Por qué algunas clases no necesitan la palabra "Nuevo" al crear su instancia?
Por ejemplo, estoy buscando en log4j, no necesita new
.
¿Por qué algunas otras clases necesitan algo nuevo? Por ejemplo, una clase de empleados:
Employee X = new Employee (John);
X.getwork();
, etc, etc
Por qué no dijimos, Logger logger = new Logger(...);
? y por qué pudimos usarlo incluso sin new
, como logger.setLevel()
, etc.
[Patrón de método de fábrica] (http://en.wikipedia.org/wiki/Factory_method_pattern) – oldrinb
'Logger.getLogger' llama internamente 'nuevo registrador'. Siempre hay una llamada de constructor en alguna parte, pero no siempre en * su * código. – Blorgbeard
WOW esto tiene muchas respuestas en poco tiempo ... – Doorknob