NumberFormat类

时间:2017-05-10 08:56:03

标签: java class object number-formatting

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

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

NumberFormat formatingExample = new NumberFormat();

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

NumberFormat formatingExample = NumberFormat.getCurrencyInstance();

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

String price = formatingExample.format(11.5);

现在我真的不知道所有这些代码的含义以及它的作用。构造函数在哪里以及如何形成示例一个对象现在???我们直接从NumberFormat类调用静态方法并将其保存到名为formating example的引用变量(NumberFormat)中但该方法实际上做了什么? "新"用于创建对象的关键字。我对java很新,只是编程一般,所以我真的很困惑......我认为这得到了对象和类的悬念,但这让我很困惑。

1 个答案:

答案 0 :(得分:0)

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

  • 这种设计使您可以灵活地确定在运行时返回的正确子类实例,而无需在设计/编译时过多地设计该设计。静态方法不受抽象的限制,因此类可以作为具体实现的工厂和抽象超类型。

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

    public static final NumberFormat getInstance()

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

问:班级的构造函数在哪里? 拥有一个基本未知数字格式的构造函数是没有用的。 Bcz它是其他类的基类,没有使用未知数字格式的实例。

问:新关键字在哪里?   由于该类是抽象的,因此无法使用新关键字直接对其进行实例化。