
本文旨在帮助 Java 初学者理解如何正确创建和使用对象数组。我们将通过一个具体的示例,讲解对象数组的声明、初始化以及如何在循环中填充对象数组。重点在于区分数组的创建和数组元素的初始化,避免常见的 `constructor cannot be applied to given types` 错误。
在 Java 中,数组是一种容器,可以存储同一类型的多个元素。对象数组则是一种特殊的数组,它存储的是对象的引用,而不是对象本身。因此,创建对象数组需要两个步骤:
例如,要创建一个可以存储 Teams 对象的数组,可以这样声明和初始化:
Teams[] team = new Teams[N]; // N 是数组的长度
注意,new Teams[N] 只是为数组分配了内存空间,数组中的每个元素仍然是 null,需要进一步初始化。
立即学习“Java免费学习笔记(深入)”;
为了给数组中的每个元素赋值,通常需要使用循环。在循环中,我们可以创建 Teams 对象,并将它们赋值给数组中的相应元素。
以下是一个完整的示例:
import java.util.Scanner;
public class TD {
public void enterTeam(int N) {
Teams[] team = new Teams[N]; // 创建 Teams 类型的数组
Scanner t = new Scanner(System.in);
for (int i = 0; i < N; i++) {
System.out.println("Enter a name for your team: ");
String Name = t.nextLine(); // 使用局部变量,避免与 Teams 类中的字段混淆
System.out.println("\nEnter the country of origin: ");
String Country = t.nextLine();
System.out.println("\n Enter a score for the team: ");
int Score = t.nextInt();
t.nextLine(); // Consume newline left-over
//TeamNumber++; // TeamNumber 没有定义,先注释掉
team[i] = new Teams(Name, Country, Score); // 创建 Teams 对象并赋值给数组元素
}
// 打印数组中的所有元素
for (Teams teams : team) {
System.out.println(teams);
}
}
public static void main(String[] args) {
TD td = new TD();
td.enterTeam(2); // 创建包含两个 Teams 对象的数组
}
}
class Teams {
String Name;
private String Country;
private int Score;
public Teams(String Name, String Country, int Score) {
this.Name = Name;
this.Country = Country;
this.Score = Score;
}
public String getCountry() {
return Country;
}
public int getScore() {
return Score;
}
@Override
public String toString() {
return "Team Name: " + Name + " Team Country: " + Country + " Team Score: " + Score + ".";
}
}代码解释:
注意事项:
创建和使用对象数组的关键在于理解数组的声明、初始化以及数组元素的赋值过程。区分数组的创建和数组元素的初始化至关重要。通过循环遍历数组,可以方便地为数组中的每个元素赋值。在实际应用中,可以根据具体需求修改示例代码,实现更复杂的功能。
以上就是Java 中正确创建和使用对象数组的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号