Java 为什么要在对象数组类中创建对象数组?
因此,我正在阅读首部android开发书籍,其中一页有点困惑 从代码中,它显示了使用(new drink())在对象数组类内部创建的对象数组。这让我有点困惑,因为我认为数组通常是在main中创建的,而不是在对象本身中创建的。 有人能解释一下原因吗Java 为什么要在对象数组类中创建对象数组?,java,android,arrays,Java,Android,Arrays,因此,我正在阅读首部android开发书籍,其中一页有点困惑 从代码中,它显示了使用(new drink())在对象数组类内部创建的对象数组。这让我有点困惑,因为我认为数组通常是在main中创建的,而不是在对象本身中创建的。 有人能解释一下原因吗 谢谢 正如注释中所述,饮料类的构造函数设置为私有,因此无法初始化该类之外的饮料对象 创建饮料数组可以让您快速轻松地(尽管不是传统的,如果您愿意的话)访问所述对象的实例 看到这是一个教程,我的猜测是,最终,构造函数将被标记为public,作者将介绍一个服
谢谢 正如注释中所述,
饮料
类的构造函数
设置为私有,因此无法初始化该类之外的饮料
对象
创建饮料
数组可以让您快速轻松地(尽管不是传统的,如果您愿意的话)访问所述对象的实例
看到这是一个教程,我的猜测是,最终,构造函数将被标记为public
,作者将介绍一个服务或其他机制的概念,您的Android应用程序将使用它来获取饮料
对象
理论上,服务层可以从文件、服务(REST、SOAP等)、数据库或其他数据源获取这些对象。正如注释中所述,
饮料类的构造函数设置为私有,因此,您无法在该类之外初始化Drink
对象
创建饮料
数组可以让您快速轻松地(尽管不是传统的,如果您愿意的话)访问所述对象的实例
看到这是一个教程,我的猜测是,最终,构造函数将被标记为public
,作者将介绍一个服务或其他机制的概念,您的Android应用程序将使用它来获取饮料
对象
理论上,服务层可以从文件、服务(REST、SOAP等)、数据库或其他数据源获取这些对象
这让我有点困惑,因为我认为数组通常是在main中创建的,而不是在对象本身中创建的
不。在Android开发中,您几乎从不使用main
方法编写代码
可以在许多地方创建饮料[]
。在您的示例中,类Drink
中有一个名为drinks
的静态字段。将创建一个饮料数组以分配给该字段
饮料
字段的用途很可能是方便访问不同类型的饮料,如拿铁和卡布奇诺。您不必在客户端代码中创建饮料对象。您可以只使用饮料.饮料[0]
或饮料.饮料[1]
。此外,Drink
构造函数是私有的,因此drinks
数组也是从外部访问Drink
对象的唯一方法
一开始,在该类中有一个类的实例似乎是违反直觉的,甚至是自相矛盾的。但请注意类是如何作为引用类型的Drink
只是存储对其他Drink
对象的引用。更不用说饮料
是静态的,因此它属于类本身,而不是饮料
实例
这让我有点困惑,因为我认为数组通常是在main中创建的,而不是在对象本身中创建的
不。在Android开发中,您几乎从不使用main
方法编写代码
可以在许多地方创建饮料[]
。在您的示例中,类Drink
中有一个名为drinks
的静态字段。将创建一个饮料数组以分配给该字段
饮料
字段的用途很可能是方便访问不同类型的饮料,如拿铁和卡布奇诺。您不必在客户端代码中创建饮料对象。您可以只使用饮料.饮料[0]
或饮料.饮料[1]
。此外,Drink
构造函数是私有的,因此drinks
数组也是从外部访问Drink
对象的唯一方法
一开始,在该类中有一个类的实例似乎是违反直觉的,甚至是自相矛盾的。但请注意类是如何作为引用类型的Drink
只是存储对其他Drink
对象的引用。更不用说饮料
是静态的,因此它属于类本身,而不是饮料
实例。它在静态块中初始化。不是我会这样做,但我认为这是因为构造器是私有的(所以你不能从外部创建其他饮料),好的是它是静态的,你有一个有限的饮料列表,但对我来说,看到这个结构也很奇怪。如果我有一个静态的和有限的饮料列表(因为构造函数是私有的)我宁愿去一个Enumeration@vmrvictor也许客户端代码需要通过索引访问饮料?它正在静态块中初始化。我不会这样做,但它是有效的。我想这是因为构造函数是私有的(因此您无法从外部创建其他饮料),好的是它是静态的,并且您有一个有限的饮料列表,但是对于我来说,看到这个构造也很奇怪。如果我有一个静态的、有限的饮料列表(因为构造函数是私有的)我宁愿去看电影Enumeration@vmrvictor也许客户端代码需要通过索引访问饮料?感谢帮助,非常感谢。我仍在慢慢学习android开发。感谢帮助,非常感谢。我仍在慢慢学习android开发。最终,构造函数将标记为public-or在本教程的后面部分,他们将使用Builder
模式来构建外部ar