通过对象或者类名直接调用方法的方式区别

1.静态方法,比较适合工具类、静态工厂等,必须考虑多线程问题。静态方法属于类本身,而非类的实例,所以可以用“类名.方法名”调用。
2.new就不用说了吧。
3.Class.forName(“”)也存在线程安全问题,所以建议和Thread.getCurrentThread().getClassLoader结合使用。Class.forName(“”)返回Object需要类型转换,newInstance方法无法执行有参数的构造函数。用反射包的Constructor也非常不方便。反射类库,包括Class.forName().newInstance适合用在框架设计领域,一般编程不建议使用,性能也比普通调用低很多。
4.DAO如果没有属性,理论上说是可以用静态方法的,但一定要保证方法的原子性,否则线程安全是一个大问题。而且,这样做失去了OO的所有特征。

你可能感兴趣的:(随记)