如果您对故事不感兴趣,请跳过前两段。
我正在和一位 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/