gpt4 book ai didi

java - 数字格式类

转载 作者:太空宇宙 更新时间:2023-11-04 11:30:10 26 4
gpt4 key购买 nike

所以我认为到目前为止我已经掌握了对象和类,但我错了。因为我正在读一本关于 Java 的书,所以我遇到了 NumberFormat 类,现在我很困惑。

通常,当您访问类中的方法和变量时,您将使用以下代码来创建一个对象,并使用该对象您将访问所需的方法和变量,但在这种情况下它不会像这样工作。

NumberFormat formatingExample = new NumberFormat();

但是现在我在书中看到你实际上可以需要这样做

NumberFormat formatingExample = NumberFormat.getCurrencyInstance();

在该代码之后,您可以使用以下代码访问其他方法

String price = formatingExample.format(11.5);

现在我真的不明白所有这些代码的含义和作用。构造函数在哪里?formatingExample 现在如何成为一个对象???我们直接从 NumberFormat 类调用一个静态方法,并将其保存到一个名为 formating example 的引用变量 (NumberFormat) 中,但是这个方法实际上做了什么?用于创建对象的“new”关键字在哪里。我对 java 很陌生,而且对一般编程很陌生,所以我真的很困惑...我以为已经掌握了对象和类的窍门,但这真的让我很困惑。

最佳答案

问:它是什么以及它的作用是什么? * NumberFormat 类是抽象类,因为它是 Java 中每种数字格式的基类(例如,包括 DecimalFormat)。

  • 这种设计使您可以灵活地以某种方式确定要在运行时返回的正确子类实例,而无需在设计/编译时使该设计过于僵化。静态方法不属于抽象方法,因此类可以作为具体实现的工厂和抽象父类(super class)型。

    类中有一个公共(public)静态方法,即

    公共(public)静态最终 NumberFormat getInstance()

    这也是 NumberFormat 的实例,但它是它的子类的具体实例。您无论如何都不能实例化抽象。在本例中,该方法用于获取您的语言环境的默认格式化程序。

问:类的构造函数在哪里?对于本质上未知的数字格式有一个构造函数是毫无用处的。 Bcz是其他类的基类,创建未知数字格式的实例是没有用的。

问:new 关键字在哪里? 由于该类是抽象类,因此无法直接使用 new 关键字实例化它。

关于java - 数字格式类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43887800/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com