Java抽象类定义数组大小

时间:2011-10-09 13:41:37

标签: java arrays int abstract-class

我有一个抽象类,在那个抽象类中我有一个数组,我希望扩展它的每个类都有数组2个整数,无论​​如何。我知道你可以在方法中定义数组大小,但这就是你可以做到的。这里有一些代码

public abstract class entity{

int pos[]

// want this variable to be two ints long no matter what extends it
}

这可能吗?

4 个答案:

答案 0 :(得分:4)

您可以在超类中实例化数组,并使用方法限制对它的访问。这样,没有子类可以改变数组的大小。

private int[] pos = new int[2];

protected void setPos(int index, int value) {
    pos[index] = value;
}

protected int getPos(int index) {
    return pos[index];
}

答案 1 :(得分:2)

为什么需要扩展类来初始化它?您可以在超类本身中将其初始化为int[2]

顺便说一下,你的班级entity应该被称为Entitypos可以是finalprivate,也可以是两者。

答案 2 :(得分:1)

protected final int[] pos = new int[2];

声明它protected可确保从中派生的所有类型都可以访问它。

声明它final可确保任何派生类型都不会改变引用指向的内容。

答案 3 :(得分:0)

试试这个

int[] pos = new int[2];