java - 是什么阻止我使用我创建的对象数组?
问题描述
我有一个名为 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;
}
}
解决方案
Java 的作用域不是动态的,因此在方法(或构造函数)中定义的任何变量都是该方法(或构造函数)的本地变量。您实际上并没有初始化您在类定义下定义的数组:
public TopTen()
{
Song[] arr = new Song[10];
}
应该:
public TopTen() {
arr = new Song[10];
}
推荐阅读
- material-ui - 具有多个值的文本字段(包含图片以供参考)
- javascript - 给定的 ResizeObserver 观察到哪些元素?
- html - 如何在按钮右侧添加一条垂直线,以便该线应出现在搜索栏和该按钮之间
- javascript - 自调用函数和“使用严格”和默认参数
- node.js - Sequelize 错误:缺少表的 FROM 子句条目
- inspec - 基于正则表达式检查 include_controls 或 require_controls
- django - 模板中的Django concat变量
- algorithm - 如何将一组分成两组以使平均值的差异最小?
- nestjs - 有什么方法可以在 NestJS 或 GraphQL 中使用正确的状态码来处理错误?
- docker - 用于 graphcore IPU 的 Linux /dev/ipu* 设备名称的含义和目的是什么?