java – 使用Math类而不实例化它
我是编程新手并且正在学习“Head First
Java”,我刚看到一个问题,就是像这样使用了Math类
int x= Math.round(float value); 并且提到我们不需要实例化Math类,因为它的构造函数是私有的.那是什么意思?到目前为止,我读到我们需要实例化该类和引用变量来使用类的方法和实例变量,Math类如何工作? 解决方法
因为Math类中的所有方法都是静态的,所以可以使用类名来调用它们.因此没有用于实例化类,因此构造函数被声明为私有.它还会阻止对Math类进行子类化,因为它是唯一的构造函数. 看看open source code:
private Math() {} // only constructor defined in Math class Math类的方法不依赖于类的内部状态,它们就像实用程序函数一样.所以将它们声明为静态是明智的.可以通过直接使用类名调用静态方法,因此不使用实例化类.它们属于类,而不属于该类的特定对象. 你可以参考JLS 8.4.3.2:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |