我有一个定义字段“ coordinates”的类,它是一个没有长度的数组,还有一个子类,我需要设置数组的长度才能使用它。所以问题是如何更改坐标长度的数组在子类中。这是代码: 超类:
abstract class Vector implements sample {
private int[] coordinates;
public Vector (int[] coordinates) {
}
}
和子类:
class Vector3D extends Vector {
public Vector3D(int[] coordinates) {
super(coordinates);
}
}
答案 0 :(得分:0)
abstract class Vector implements sample {
private int[] coordinates;
public Vector (int[] coordinates){
this.coordinates=coordinates;
}
}
如果要通过调用新的Vector3D(1,2,3)来初始化坐标,请执行以下操作:
class Vector3D extends Vector {
public Vector3D(int n1,int n2,int n3) {
super(new int[]{n1,n2,n3});
}
}
答案 1 :(得分:0)
您的父类(向量)需要设置私有字段。当前,参数和实例变量无关。
这可以完成工作:
public abstract class Vector implements Sample {
private int[] coordinates;
public Vector(int[] coordinates) {
this.coordinates = coordinates;
}
}
public class Vector3D {
public Vector3D(int[] coordinates) {
super(coordinates);
}
}
// usage:
new Vector3D(new int[]{ 1, 2, 3 }); // Vectors coordinate size: 3. Content: 1, 2, 3
这会将Vector3Ds数组传递给父对象,其大小将与提供给Vector3D类的数组相同。