从主方法访问抽象类变量

时间:2018-07-11 17:25:28

标签: java arrays class abstract

我是Java面向对象编程的新手,所以我将尽力解释我的问题。我有一个抽象类,其中包含一个整数数组以及两个将使用该数组的方法。除非告知这样做,否则阵列不会填充。

我问用户他们想要数组中有多少个元素,然后填充它。应该使用两种方法来处理给定的数组。问题是我不知道如何将数组分配给抽象类,以便同一数组被其他两个方法携带。

我的抽象类

public abstract class MyAbstractClass {

    public int[] a;

    //Extend this class and implement the following methods:
    abstract public int selection1(int N);
    abstract public int selection2(int N);
}

我的班级包含主班

public class CreateArray extends MyAbstractClass {

CreateArray myArray = new CreateArray();

public int selection1(int N) {

    int[] arr = myArray.a;

    System.out.println(Arrays.toString(arr));
    return N;
}

public int selection2(int N) {
    int[] arr = myArray.a;

    System.out.println(Arrays.toString(arr));

    return N;
}

public static void main(String args[]) {
    Scanner scnr = new Scanner(System.in);
    System.out.print("How many elements would you like in your array?: ");
    int numberOfElements = scnr.nextInt();

    //I am unable to access myArray so I can fill the array with numbers   

    fillArray(myArray.a, numberOfElements);

    myArray.selection1(numberOfElements);
    myArray.selection2(numberOfElements);

}

    public static int[] fillArray(int[] arr, int numOfElements) {
    for(int i = 0; i < numOfElements; i++) {
        arr[i] = (int)(Math.random() * 100);
    }
    return arr;
}

}

我在这里想念什么?这是这样做的正确方法吗?这两个打印myArray.a的打印语句应该打印相同的数组。

0 个答案:

没有答案