因此,我正在阅读第一本关于android开发的书籍,而在其中的一页上有些困惑。
通过代码,它显示了使用(new Drink())在对象数组类本身内部创建的对象数组。这让我有些困惑,因为我认为通常会在主体内部而不是在对象本身中创建数组。
谁能帮忙解释原因?
谢谢。!
最佳答案
这让我有些困惑,因为我认为通常会在主体内部而不是在对象本身中创建数组。
不可以。在Android开发中,您几乎永远不会在main
方法中编写代码。Drink[]
可以在许多地方创建。在您的示例中,类drinks
中有一个名为Drink
的静态字段。创建了一系列饮料以分配给该字段。drinks
字段的目的可能是允许轻松获取各种类型的饮料,例如拿铁和卡布奇诺咖啡。您不必在客户端代码中创建饮料对象。您可以只使用Drink.drinks[0]
或Drink.drinks[1]
。另外,Drink
构造函数是私有的,因此drinks
数组也是您从外部访问Drink
对象的唯一方法。
乍一看,在该类中拥有一个类的实例似乎违反直觉,甚至自相矛盾。但是请注意类是引用类型。 Drink
只是存储对其他Drink
对象的引用。更不用说drinks
是静态的,因此它属于类本身,而不是Drink
实例。