java何时使用静态方法和字段?
我知道静电是什么,只是不知道什么时候用
静态变量: 我只对常量字段使用它。有时一个类中有几十个常量,所以使用静态常量可以节省大量内存。还有其他典型的用例吗
静态方法: 我在上算法课时会用到它。例如,提供不同排序算法的类。这是反对面向对象设计的吗?我认为最好保持这种方式,而不是在需要使用排序算法的每个类中实现排序算法。我错了吗?有哪些好的用例
此外,使用静态和非静态字段/方法之间是否存在性能差异
你可以在下面搜索框中键入要查询的问题!
我知道静电是什么,只是不知道什么时候用
静态变量: 我只对常量字段使用它。有时一个类中有几十个常量,所以使用静态常量可以节省大量内存。还有其他典型的用例吗
静态方法: 我在上算法课时会用到它。例如,提供不同排序算法的类。这是反对面向对象设计的吗?我认为最好保持这种方式,而不是在需要使用排序算法的每个类中实现排序算法。我错了吗?有哪些好的用例
此外,使用静态和非静态字段/方法之间是否存在性能差异
# 1 楼答案
我个人的经验法则是,静态的东西“只是挂在那里”。它们(免责声明,不完全正确)是全球性的,但包含在这一特定类别中是有意义的
如果你发现自己反复加载一些重量级对象,静态字段是很好的。例如,我现在正在做的项目在两个图像之间进行切换。这些是与应用程序一起加载并保存在内存中的静态字段,而不是每次重新加载它们并让GC处理混乱
# 2 楼答案
static field
在所有对象中有一个值,它们称之为类成员,因为它与类相关您可以使用静态字段作为实用工具
举个例子,假设我们需要知道有多少实例:
类
Counter
在创建
Counter
类的两个实例之后。但是它们共享相同的instanceCount
字段,因为这是一个静态字段,所以instanceCount
的值在firstCounter
和secondCounter
中是相同的类
main