java的反射機制就是增加程序的靈活性,避免將程序寫死到代碼里,
例如: 實例化一個 person()對象, 不使用反射, new person(); 如果想變成 實例化 其他類, 那么必須修改源代碼,並重新編譯。
使用反射: class.forName("person").newInstance(); 而且這個類描述可以寫到配置文件中,如 **.xml, 這樣如果想實例化其他類,只要修改配置文件的"類描述"就可以了,不需要重新修改代碼並編譯。
復制過來的:http://zhidao.baidu.com/question/478254128.html
增加程序的靈活性。
如struts中。請求的派發控制。
當請求來到時。struts通過查詢配置文件。找到該請求對應的action。已經方法。
然后通過反射實例化action。並調用響應method。
如果不適用反射,那么你就只能寫死到代碼里了。
所以說,一個靈活,一個不靈活。
很少情況下是非用反射不可的。大多數情況下反射是為了提高程序的靈活性。
因此一般框架中使用較多。因為框架要適用更多的情況。對靈活性要求較高。
