java - 子类化数组

标签 java arrays subclassing

如果您对故事不感兴趣,请跳过前两段。

我正在和一位 friend 谈论数组,以及为什么如果你尝试访问像 Objective C 这样的“现代”语言(这是我的主要语言)中越界的对象,数组(仍然)会崩溃。所以我们进行了一场辩论,我说我可以给他写一个数组(我将其命名为 GeniusArray),如果您尝试访问越界但不会崩溃的内容,该数组将返回 null 并打印出错误。

睡了一觉之后,我意识到,如果您访问的元素超出了界限,那么您的代码中就会出现一些严重的错误,并且应用程序崩溃可能并不坏,因此您必须被迫修复它。 :-D

但仍然:我想证明我的观点并子类化 Array 并通过基本上添加每个程序员相对经常编写的这个 if 语句来重写 get() 方法:

// Pseudo code...
if (index < array.count) element= array[index];

我想用 Java 而不是 Objective C 来做这件事,因为这是我 friend “知道”的(顺便说一句,我们都是学生)。

长话短说:我尝试对数组进行子类化,但它似乎不起作用。我正在听这个:

Access restriction: The type Attribute.Array is not accessible due to restriction on required library: /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/classes.jar GeniusArray.java

最佳答案

只有可以被子类化。数组类型不是类。 (来自here:“引用类型分为三种:类类型、接口(interface)类型和数组类型。”)

关于java - 子类化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1564808/

相关文章:

java - 是否可以在模型外部控制 EAGER/LAZY 加载?

arrays - 在 golang 中创建 map 数组的 map

python - 子类化和扩展 numpy.ndarray

c++ - 为什么编译器找不到父类(super class)的方法?

java - 用于 x-www-form-urlencoded 类型请求的 Spring bean

java - android studio Intentservice未在应用程序之外运行

java - 使用 Telegram 发送消息

c++ - 数组遍历与指针,缓存效率方面

arrays - 如何使用 Julia 中不同数组给出的形状值从 Gamma 分布中采样数组?

c# - 决定需要哪个子类的最佳方法