我觉得这个比较本身就有问题,两者分别用于不同的场景。
能用静态方法的地方,用非静态方法就是浪费资源。
应该用非静态方法的地方,静态方法根本用不了。
两种方法分别更适合不同的场景,因为他们在适应自己场景的地方能突显自己的优点。
dudu园长 您说能用静态方法的地方,用非静态方法就是浪费资源 怎么理解?什么是能用静态方法的地方?
@张小千: 推荐一篇博文:静态方法与非静态方法区别
@dudu:”静态成员属于类所有,为各个类的实例所公用,无论类创建了多少实例,类的静态成员在内存中只占同一块区域“,那么静态方法会不会出现并发现象呢?万一出现了系统怎么处理?
@张小千: 不用担心这个问题,静态方法是线程安全的
你应该问什么场景使用静态函数与什么场景使用非静态函数
我觉得静态函数就是个蛋疼的设计:
首先, 有些方法不用挂在Object上。
其次, 不挂, 会让人说:你看你, 你都不面向对象。
于是就有了static这么蛋疼的玩意出来。
你的意思是说静态函数就是个没有用的东西了,在一个程序中不用他了
@张小千: 不是没有用。 而是本来可以更简单的, 就为了一个“面向对象”的虚名而给弄的更复杂了。