我有一个名为Song的工作班,由两个字符串组成,一个歌曲标题和歌曲艺术家的名字。我能够创建一个“TopTen”对象,但每当我尝试在TopTen类中使用数组“arr”的名称时,我都会收到错误。如果有人能解释为什么我会因为这个简单的问题而收到错误,那将非常感激。
public class TopTen {
private Song[] arr;
public TopTen()
{
Song[] arr = new Song[10];
}
public int findLength()
{
int length = arr.length;
return length;
}
}
答案 0 :(得分:5)
Java的范围不是动态的,因此方法(或构造函数)中定义的任何变量都是该方法(或构造函数)的本地变量。您实际上并没有初始化您在课程中定义的数组'定义:
public TopTen()
{
Song[] arr = new Song[10];
}
应该是:
public TopTen() {
arr = new Song[10];
}
答案 1 :(得分:1)
public TopTen()
{
Song[] arr = new Song[10];
}
这里,arr变量是构造函数TopTen的局部变量,make arr = new Song [10];