【发布时间】:2020-12-07 03:25:51
【问题描述】:
我知道从子类中直接调用私有数组是不可能的,但我仍然需要以某种方式访问它,那么最好的方法是什么?现在我有一个用于我的主要方法的类、随机数组、播放器数组和第四个类,我想用它来比较两个数组。
到目前为止,我已经尝试创建一个仅返回数组的 getter 方法,然后我会从 compare 类中调用该 getter 方法。这失败了,所以我尝试制作一个基本的 for 循环将返回该数组中的每个值,但这也不起作用。所以我的问题是如何将私有数组的值放入子类中?
这是我的尝试之一,它只打印 0 0 0 0
public class test {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
PlayerArray player = new PlayerArray(console);
testArray test = new testArray();
test.printArray();
}
class PlayerArray extends RandomArray {
private int[] playerArray = new int[4];
public PlayerArray() {
}
public PlayerArray(Scanner console) {
System.out.println();
System.out.println("Enter 4 numbers you wish to guess: ");
for(int i=0; i<playerArray.length; i++) {
playerArray[i] = console.nextInt();
}
}
public int[] getPlayerArray() {
return playerArray;
}
}
class testArray extends PlayerArray {
public void testArray() {
}
public void printArray() {
System.out.println(getPlayerArray());
for (int i = 0; i < 4; i++) {
System.out.print(getPlayerArray()[i]);
}
}
}
【问题讨论】:
-
我已经在谷歌上搜索了很多次这个问题,看了很多视频,但没有任何帮助。一切都只是谈论超级基本的封装,例如用户在 setter 方法中输入名称,然后系统打印 getter 方法。我不确定为什么需要 1000 个资源来了解最基本的封装可能使用情况,因为如果人们要努力解决问题,那将是困难的问题,而不是超级简单的问题......
标签: java arrays class subclass private