因此,我正在阅读第一本关于android开发的书籍,而在其中的一页上有些困惑。

通过代码,它显示了使用(new Drink())在对象数组类本身内部创建的对象数组。这让我有些困惑,因为我认为通常会在主体内部而不是在对象本身中创建数组。
谁能帮忙解释原因?

谢谢。!

最佳答案

这让我有些困惑,因为我认为通常会在主体内部而不是在对象本身中创建数组。


不可以。在Android开发中,您几乎永远不会在main方法中编写代码。

Drink[]可以在许多地方创建。在您的示例中,类drinks中有一个名为Drink的静态字段。创建了一系列饮料以分配给该字段。

drinks字段的目的可能是允许轻松获取各种类型的饮料,例如拿铁和卡布奇诺咖啡。您不必在客户端代码中创建饮料对象。您可以只使用Drink.drinks[0]Drink.drinks[1]。另外,Drink构造函数是私有的,因此drinks数组也是您从外部访问Drink对象的唯一方法。

乍一看,在该类中拥有一个类的实例似乎违反直觉,甚至自相矛盾。但是请注意类是引用类型。 Drink只是存储对其他Drink对象的引用。更不用说drinks是静态的,因此它属于类本身,而不是Drink实例。

08-24 18:03