今天有一个同事问起这样的一个问题,他说说静态方法调用以后,一直占用内存,不会自动释放,而非静态方法,只有在生命对象以后才调用,调用以后会自动释放内存,所以尽量要用非静态方法,但我细想了一下,静态方法虽然占用内存,但他在调用的时候相对来说速度要快很多,因为他的内存地址比较固定,而非静态方法每次调用,需要临时开辟一块内存来存储,所以相对来说速度慢一些,所以我个人觉得,用静态方法或非静态方法不是效率,占用内存的问题,而应该是按照面向对象的思想来决定用静态还是非静态,当我们某一个方法比较固定,调用比较频繁的话,应该用静态方法,而如果对于每一个不同的对象可能会产生不同的结果,或者此方法非常占内存且调用不频繁,则可以考虑用非静态方法。
用哲学的头脑去思考问题!