定义数组大小的Java抽象类

定义数组大小的Java抽象类,java,arrays,int,abstract-class,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 } 这可能吗?试试这个 int[] pos = new int[2]; 为什么需要扩展类来初始化它?您可以在超

我有一个抽象类,在这个抽象类中我有一个数组,我希望每个扩展它的类都有2个整数的数组长度,不管怎样。我知道你可以用方法定义数组大小,但这就是你所能做的。这里有一些代码

public abstract class entity{

int pos[]

// want this variable to be two ints long no matter what extends it
}
这可能吗?

试试这个

int[] pos = new int[2];

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


顺便说一句,你的类
entity
应该被称为
entity
pos
可以是
final
private
或两者兼有。

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

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

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

protected int getPos(int index) {
    return pos[index];
}
声明它
受保护
可以确保从它派生的所有类型都可以访问它

声明它
final
可以确保派生类型不会更改引用指向的对象

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