所以我认为到目前为止我掌握了对象和类,但我错了。因为我正在读一本关于Java的书,所以我遇到了NumberFormat类,现在我很困惑。
通常,当您访问类中的方法和变量时,您将使用以下代码来创建对象,并且使用该对象可以访问所需的方法和变量,但在这种情况下它并不像那样工作。
NumberFormat formatingExample = new NumberFormat();
但现在我在书中看到你实际上需要这样做
NumberFormat formatingExample = NumberFormat.getCurrencyInstance();
在该代码之后,您可以使用以下代码访问其他方法
String price = formatingExample.format(11.5);
现在我真的不知道所有这些代码的含义以及它的作用。构造函数在哪里以及如何形成示例一个对象现在???我们直接从NumberFormat类调用静态方法并将其保存到名为formating example的引用变量(NumberFormat)中但该方法实际上做了什么? "新"用于创建对象的关键字。我对java很新,只是编程一般,所以我真的很困惑......我认为这得到了对象和类的悬念,但这让我很困惑。
答案 0 :(得分:0)
这种设计使您可以灵活地确定在运行时返回的正确子类实例,而无需在设计/编译时过多地设计该设计。静态方法不受抽象的限制,因此类可以作为具体实现的工厂和抽象超类型。
类中有一个公共静态方法,即
public static final NumberFormat getInstance()
这也是NumberFormat的一个实例,但它是它的子类的具体实例。你无论如何都不能实例化一个抽象。在这种情况下,该方法用于获取您的语言环境的默认格式化程序。
问:班级的构造函数在哪里? 拥有一个基本未知数字格式的构造函数是没有用的。 Bcz它是其他类的基类,没有使用未知数字格式的实例。
问:新关键字在哪里? 由于该类是抽象的,因此无法使用新关键字直接对其进行实例化。