老師講得很好??磿催^之后似懂非懂,現在感覺茅塞頓開了。把老師的代碼再獨立完整敲一遍加深理解!希望老師多出視頻!
2016-08-16
String str = "T"; //T就是我們配置文件中的功能類,可以根據不同的需求而變
Class c = Class.forName(str); //參數str在我們程序中可以不用改變
c.newInstance(); //用這種方式來生成T類的對象
這樣的編寫代碼的好處是,當客戶端的需求變化時,我們的代碼可以不用更改,直接添加新類,就可以實現功能的添加。
Class c = Class.forName(str); //參數str在我們程序中可以不用改變
c.newInstance(); //用這種方式來生成T類的對象
這樣的編寫代碼的好處是,當客戶端的需求變化時,我們的代碼可以不用更改,直接添加新類,就可以實現功能的添加。
2016-08-16
new一個類名 指的是靜態加載一個類名;
Class.forName(“類名”)的作用是動態加載了一個類名;
靜態加載的弊端是,類名一旦更改,我們之前編寫的程序中所有用到該類名的地方都要修改,這樣的程序耦合性很高,擴展性就很差;
那么聰明的人類就想到一個辦法,就是動態加載。用一個抽象的類名代替具體的類名,或者一個統一的接口代替具體的方法,這樣一來程序運行的時候在加載相應的類或接口即可。
擴展的功能(新功能就代表一個新類)只要implement這個類即可實現功能的擴展。
這節課的內容包含多態,封裝,繼承,面向對象等等思想。理解了這一節課,學起框架來就輕松多了。
個人一點理解,分享給大家。
Class.forName(“類名”)的作用是動態加載了一個類名;
靜態加載的弊端是,類名一旦更改,我們之前編寫的程序中所有用到該類名的地方都要修改,這樣的程序耦合性很高,擴展性就很差;
那么聰明的人類就想到一個辦法,就是動態加載。用一個抽象的類名代替具體的類名,或者一個統一的接口代替具體的方法,這樣一來程序運行的時候在加載相應的類或接口即可。
擴展的功能(新功能就代表一個新類)只要implement這個類即可實現功能的擴展。
這節課的內容包含多態,封裝,繼承,面向對象等等思想。理解了這一節課,學起框架來就輕松多了。
個人一點理解,分享給大家。
2016-08-16
這個反射的視頻是完整的么?為啥感覺缺了不少啊,,,他項目中的methodDemo有好幾個啊,但是視頻講解的只有一個,,求解
2016-08-14