Ryan Delucchi은 Tom Hawtin의 대답에 주석 # 3 here 질문 :Class.newInstance()가 "악"인 이유는 무엇입니까?
이유에 Class.newInstance() "악"? 코드 샘플에 응답
이
는 :// Avoid Class.newInstance, for it is evil.
Constructor<? extends Runnable> ctor = runClass.getConstructor();
Runnable doRun = ctor.newInstance();
그래서, 왜 악마인가?
실제로이 질문에 대한 답변을 보는 것 : Class.newInstance()뿐만 아니라 다양한 리플렉션 사용에 대해 이렇게 말할 수 있습니다. 그래서 이것은 "reflection이 compile-time checking을 패배시킨다"는 일반적인 관찰입니다 ... 이것은 흔히 반성의 요점입니다. –
요즘 아이들은 "사악한"단어를 던져 버렸지 만 COBOL이나 FORTRAN 프로그램을 보지 못했습니다! 당신은 "EVIL"이 시뮬레이션 배경을 가진 땜장이로 프로젝트에서 프로젝트로 넘어온 20 년 된 FORTRAN 프로그램을보고 싶습니다. CS가 영향을 미치지 않습니다! 이제 "사악 해!" – NoMoreZealots
또한보십시오 http://stackoverflow.com/q/36272566/3888450 –