|
这个问题很多面试的时候都会问的..小小解析一下...不足之处请指教.....
好久没来了..今天回来给大家谈谈JAVA中产生一个对象的几种方法.
常见4种方法如下:第一种:用new的方式
第二种:利用工厂设计模式,引入工厂类来实现(接口编程为主);
第三种:利用JAVA的反射机制来实现,Class forName();
第四种:利用对象间的克隆方法,Object类中的clone()方法;
虽说都可以产生对象,但同时对处在着不足....
问题及不足之处如下:第一种:此方式产生的对象在,客户端进行调用的时候,必须需要明确的知道有多少个类与子类
如需求变更时,需要进行修改大量的代码.同时这种方式紧密偶合在一起..代码的效率低
很多人称之为垃圾代码.
第二种:虽说解决了上面的所说的偶合问题,但在整个的程序中,一个接口就需要一个工厂,
如果程序很大的话,则会造成每个接口都要有对应的一个工厂,也说明了接口过多工厂就越多,
使某些问题会很繁锁....
第三种:通过JAVA的反射实现需要联合IO操作及工厂设计模试及联合Properties,虽说此方法可以解决
以上二种的必端..但同时会给程序人员代来不易管理程序,,并且代码量相当的大,要多写很多代码
第四种:则需要一个具体类的对象进行克隆,些方法本人没做过具体的实现,只是从相关书中获得..
在产生对象时.大家可以跟具程序的大小,选择合适的方法....
这些方法存在的必端在J2EE高级技术的框架中得到更好的补冲....
小弟的一知半解..让大家见笑了. |
|