java - 如何在Java中创建一个对象的多个实例

标签 java

我正在尝试创建一个对象的多个实例并将其存储在一个数组中。但是,它的最后一个实例会覆盖之前的实例。他们是我创建每个单独对象的一种方式吗?

我尝试创建一个数组并分别填充每个单独的对象。我还尝试过创建它的新实例。

class Card {
 private static String name;

 public Card(String name) {
  this.name = name;
 }

 public String getName() {
  return name;
 }
}

public class Main {
 static Card[] deck = new Card[5];
 public static void main(String args[]) {
  deck[0] = new Card("Ace");
  deck[1] = new Card("Club");

  System.out.println(deck[0].getName());
  System.out.println(deck[1].getName());
 }
}

牌组[0]的输出应该是“Ace”,而牌组[1]的输出应该是“Club”。 输出的是“Club”两次。我该如何解决这个问题?

最佳答案

Card 中的字段 name 被声明为 static。删除 static 关键字:

class Card {
 private String name;
 // ...
}

如果某事物是静态,则只能有一个。

关于java - 如何在Java中创建一个对象的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58512524/

相关文章:

java - 如果套接字已打开,则强制关闭该套接字

java - 如何使用工作队列行为发布到多个队列?

java - 在 JSP 上获得双倍值

java - Hibernate hibernate.show_sql 在使用工作上传读取时未映射

java - PDF 文件无法从 Java 代码打开

java - RecyclerView.ViewHolder 中的 onClickListener

java - 需要帮助处理由 java.lang.IncompatibleClassChangeError 引起的致命异常

java - 适合实时客户端/服务器物理模拟的设计模式?

java - 一个循环如何由两个线程完成?说由 ist 线程从 count=1 循环到 count=4 并由第二个线程循环 count =5 到 8?

java - Gradle:无法从 '11.0.2' 确定 java 版本