Java 对象数组

Java 对象数组,java,arrays,pointers,Java,Arrays,Pointers,在下面的问题中,我没有得到粗体的一行。这行是不是意味着创建一个类的数组对象?因为据我所知,Java没有指针的概念 创建一个抽象类隔间来表示铁路客车。在类中提供抽象函数通知。从车厢类派生头等舱、普通舱、女士舱和行李舱。覆盖其中每一个中的通知功能。 创建一个类testchainer。编写main函数以执行以下操作: 声明一个大小为10的分区指针数组。这很可能意味着:创建一个大小为10的引用数组一方面,Java没有指针的概念;另一方面,除了Java中的原语(即所有对象派生的东西)之外的所有东西都可以作

在下面的问题中,我没有得到粗体的一行。这行是不是意味着创建一个类的数组对象?因为据我所知,Java没有指针的概念

创建一个抽象类隔间来表示铁路客车。在类中提供抽象函数通知。从车厢类派生头等舱、普通舱、女士舱和行李舱。覆盖其中每一个中的通知功能。 创建一个类testchainer。编写main函数以执行以下操作:
声明一个大小为10的分区指针数组。

这很可能意味着:创建一个大小为10的引用数组

一方面,Java没有指针的概念;另一方面,除了Java中的原语(即所有
对象
派生的东西)之外的所有东西都可以作为“指针”通过,尽管从技术上讲它们不被称为“指针”

java调用它们,但由于存在“代码> null < /COR>参考”,它们的行为非常类似于C++和C++中的指针。 无论如何,当您创建一个包含十个非原语的数组时,您将创建一个引用数组,每个引用都设置为
null

Compartment[] compartments = new Compartment[10];

这与创建十个
隔间
对象不同,因为创建阵列时不会创建对象本身,只有在以后需要时才可以引用这些对象的地方。

Java本身没有指针。任何不是原语的东西都是引用。

尽管Java中引用的底层实现归结为类似C的指针(因为它在某一点上是这样的),我认为推荐人是一个更好的方式来完成这个请求


您只需声明一个经典数组。

引用和指针是一样的。(它的措辞非常糟糕。编写它的人应该得到一个“D”。(JLS 4.3.1第2行)引用值(通常只是引用)是指向这些对象的指针,以及一个特殊的空引用,它不引用任何对象。引用的确切含义是什么?我们应该创建对象吗?@Lizzie-如果它说创建数组,那么你可能只是创建了数组——值将是
null
。但正如我上面所说,这是一个措辞非常糟糕的语句con是对Comparement对象的引用,但在您创建该对象之前,它指向null,“引用”和“指针”之间有什么区别?@HotLicks:一个存在,另一个不存在。存在的东西和不存在的东西有什么区别?@HotLicks补充到Kerrek,如果你防卫性地需要它,那么区别在于我们不能对引用进行算术运算。我们可以继续pointers@Baadshah-在某些语言中,你可以对指针进行算术运算。嗯,在Java中有一个空引用:-)在Java中,引用并不总是用指针实现的。来自Oracle的当前64位jvm确实有一种模式,其中引用存储为32位值,然后在使用前将其移位2次。因此,每个引用只使用32位,但仍然允许访问16GB ram。@MTilsted-并且有使用类似操作实现指针的情况。