gpt4 book ai didi

java - 如何通过类中的方法访问对象?

转载 作者:行者123 更新时间:2023-11-30 06:45:14 25 4
gpt4 key购买 nike

我有 2 个类,A 和 B。A 包含我想在 B 中使用的属性。

每次初始化一个新对象时,我想将 B 中初始化的所有对象放入一个数组中。使用此代码,第一个对象应转到数组位置 1,第二个对象应转到数组位置 2,依此类推。变量 n 基本上决定了对象应该到达的位置。

我知道“这个”。我可以从该对象访问各个变量(正如您在 x 和 y 中看到的那样),但我不知道如何访问整个对象。您会看到我的代码中有一条注释,其中显示了我尝试执行的操作。它不起作用,因为它不是正确的语法。

我必须在那里放什么才能让它发挥作用?

class A{
private int x, y;
private static int n;
A(int x, int y){
this.x = x;
this.y = y;
n++;
//B.object[n] = this.object;
//I tried this but it doesn't work
};
}

class B{
public static A[] object = new A[10];
public static void main(){
A object1 = new A(1,2);
A object2 = new A(3,4);
A object3 = new A(5,6);
};
}

最佳答案

B 类中的 object 引用包含 A 类型的数组,因此您只需设置B.object[n] = this; 如下所示(这里,this本身就代表当前A对象,所以不用说this.object):

class A{
private int x, y;
private static int n;
A(int x, int y){
this.x = x;
this.y = y;
n++;
B.object[n] = this;
};
}



class B{
public static A[] object = new A[10];
public static void main(String[] args){
A object1 = new A(1,2);
A object2 = new A(3,4);
A object3 = new A(5,6);
};
}

此外,在 Java 中,main 方法采用 String[] 作为输入参数(如上所示),这将是 JVM 在开始时执行的方法(尽管使用main(),代码编译,但 JVM 在开始时不会调用它)。

<小时/>

但作为旁注,请记住您尝试执行的操作会创建循环依赖项(A 类依赖于 B 类,然后 B 类依赖于 A 类),因此请避免这种情况。

关于java - 如何通过类中的方法访问对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43791444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com