老师讲得很好。看书看过之后似懂非懂,现在感觉茅塞顿开了。把老师的代码再独立完整敲一遍加深理解!希望老师多出视频!
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