gpt4 book ai didi

java - 自定义 Java 对象数组

转载 作者:行者123 更新时间:2023-12-02 15:37:28 24 4
gpt4 key购买 nike

我正在尝试创建一个 Person 数组(一个带有变量 String name 和 double Total 的类)。但由于某种原因,创建第二个人取代(?)第一个人。 。 .

Person[] p = new Person[40];

p[0] = new Person("Jango", 32);
p[1] = new Person("Grace", 455);

System.out.println( p[0].getName() );
System.out.println( p[1].getName() );
System.out.println( p[0].equals(p[1]) );

输出为:

Grace
Grace
false

为什么不是:

Jango
Grace
false

????????????

public class Person {

@SuppressWarnings("unused")
private Person next;
private String name;
private double total;

public Person(String _name)
{
name = _name;
total = 0.0;
next = null;
}

public Person(String _name, double _total)
{
name = _name;
total = _total;
next = null;
}

public String getName()
{
return name;
}
}

最佳答案

您的问题是 name 实例变量被声明为静态,使其成为类变量。对名称的任何更改都会针对该类的每个实例进行更改。您需要从 nametotal 中删除静态标识符,您的代码将正常工作。

关于java - 自定义 Java 对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13997292/

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