定义数组大小的Java抽象类
我有一个抽象类,在这个抽象类中我有一个数组,我希望每个扩展它的类都有2个整数的数组长度,不管怎样。我知道你可以用方法定义数组大小,但这就是你所能做的。这里有一些代码定义数组大小的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]; 为什么需要扩展类来初始化它?您可以在超
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];