为什么Math类的方法是静态的?
答案 0 :(得分:26)
因为它们不需要任何内部状态,但Java中没有独立的函数 - 每个函数都必须是类的成员。因此,它们是静止的。
答案 1 :(得分:6)
当你的方法实际上不涉及状态或类(例如,数学函数,数组上的实用程序等)时,该类只用于将它们“分组”到一个连贯的位置。因此,您将它们列为静态(因为它们不触及状态),因为您实际上从未实际实例化该类。
答案 2 :(得分:5)
与其他人所说的一样......静态方法的召唤速度更快有两个原因:
答案 3 :(得分:2)
很大程度上因为这些是实用程序方法,其中许多方法可以应用于基元的计算。该类的目的很大程度上是为了提供一个标准的函数库,其中许多函数不需要直接应用于对象。
答案 4 :(得分:2)
它们是静态的,因为这些方法不依赖于Math类的instance variables。
答案 5 :(得分:0)
静态功能是免费的“副作用”。当您期望计算单个结果时,无需跟踪状态变量。
答案 6 :(得分:-1)
它们需要是静态的,因为数字是基元而不是正确的对象,因此它们不能是数字类型的实例方法。
现在Java也有拳击数字的类,但是为每个数学运算创建一个对象效率太低。
在其他语言中,例如Smalltalk,数字是对象,所有算术运算都是实例方法。
答案 7 :(得分:-7)
可以调用它们,就像它们是数学代码库一样。