page contents

静态方法和实例方法到底有何不同

Pack 发布于 2020-03-02 14:44
阅读 996
收藏 0
分类:Java开发

查阅了很多资料,都讲的不是很明确,而且有些描述有错误,请各位泡友大佬,能帮助小弟解决一下问题,小弟感激不尽。

506
Pack
Pack

目前从用的方面去理解: 静态方法适合做工具方法, 尽量避免共享成员变量, 成员属性, 否则容易出现安全问题;
实例方法是一种弥补的感觉(存疑)
我觉得你问的可能要从jvm, 从底层方面去理解, 目前还比较模糊, 从下面的答案中知道了, JVM只有一个静态方法, 实例方法归属于非共享的实例对象的方法, 因此在一个程度上面理解实例方法更具安全性;
静态方法里面如果有共享变量或者属性, 容易出现线程安全问题;
可以参考 为什么要将数据库连接封装成一个个实例方法, 为什么要将 连接和关闭等都写成实例方法, 而不是写成静态方法。
因为如果Connection共享后, 容易出现安全问题; 个人片面理解, 不全面, 请多多指教!

请先 登录 后评论