对象阵列
在下面的问题我没有得到大胆的行。该行是否意味着创建类隔离的数组对象?因为据我所知,Java没有指针的概念。对象阵列
创建一个抽象类隔间来代表铁路教练。在课堂上提供抽象功能通知。从课堂课导出FirstClass,General,Ladies和Luggage课程。覆盖其中每一个的通知功能。 创建一个TestCompartment类。写主要功能做到以下几点: 声明大小10
一方面,Java没有指针的概念;另一方面,Java以外的所有东西(即所有的Object
衍生的东西)都可以作为“指针”,尽管在技术上它们不被称为“指针”。
Java调用它们引用,但既然有这样的东西作为参考null
,他们表现得非常像C和C++指针。
无论如何,当你创建的十个非原语的数组,您创建引用数组,每一个组到null
:
Compartment[] compartments = new Compartment[10];
这是从创建10个Compartment
对象的不同,在对象当你创建一个数组时,它们本身不会被创建,只有在需要的时候才可以通过它来引用这些对象。
那么,在Java中,*表示空引用:-) – 2013-05-11 11:27:55
@ dasblinkenlight真的很好的解释。 +1 – 2013-05-11 12:34:53
Java没有像这样的指针。所有不是原始的东西都是参考。
“参考”和“指针”之间有什么区别? – 2013-05-11 11:23:42
@HotLicks:有一件事存在,另一件不存在。存在的东西和不存在的东西之间有什么区别? – 2013-05-11 11:29:03
@HotLicks添加到Kerrek,如果你需要它,AFAIK的区别是我们不能对引用进行算术运算。我们可以在指针 – 2013-05-11 11:31:04
尽管Java中引用的底层实现归结为C类指针(因为它在某些时候确实如此),但我认为引用将是贯穿请求的更好方式。您只需声明一个经典数组。
引用并不总是用java中的指针实现的。来自Oracle的当前64位jvm确实有一种模式,其中引用存储为32位值,然后在使用前将其移位2次。因此,每个参考仅使用32位,但仍允许访问16GB RAM。 – MTilsted 2013-05-11 12:23:09
@MTilsted - 还有一些类似操作的指针实例。 – 2013-05-11 18:20:11
“参考”和“指针”是一回事。 (它写得很差,写它的人应该得到一个“D”。) – 2013-05-11 11:21:56
(JLS 4.3.1第2行)引用值(通常是引用)是指向这些对象的指针,还有一个特殊的空引用,没有对象。 – johnchen902 2013-05-11 11:28:27