gpt4 book ai didi

java - 如何在java中为数组内的对象属性设置值

转载 作者:行者123 更新时间:2023-11-30 03:50:07 25 4
gpt4 key购买 nike

我不断收到此错误:

Exception in thread "main" java.lang.NullPointerException
at Circle.main(Circle.java:35)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)

我正在尝试设置第一个圆形对象的属性,但我想我不能用这种方式在java中执行此操作?

public class Circle {
private double x,
y,
radius;

public static void main(String args[]) {
// Testing Circles
System.out.println("\nTESTING CIRCLES:");
Circle[] circles = new Circle[2];
Circle circle1 = circles[0]; // Circle 1

// Setting X
circle1.setX(20); // <- Why does this not work and how is this properly done.
}

public void setX(double xVal) {
x = xVal;
}
}

最佳答案

您还没有初始化您的Circle对象,只是声明了一个适合保存圆形对象的空数组。声明时,数组中的所有对象均为null。您需要先初始化数组中的对象,然后才能调用它们的方法。

Circle[] circles = new Circle[2];
circles[0] = new Circle();
circles[0].setX(20);

或者您可以在一行中进行初始化和声明,如下所示:

Circle[] circles = new Circle[] { new Circle(), new Circle() };
circles[0].setX(20);

关于java - 如何在java中为数组内的对象属性设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24666054/

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