您不应为实例字段提供与类相同的名称,因为这会导致变量阴影
-维基百科说,(部分) 变量阴影
是在一定范围内(决策块,方法或内部类)声明的变量相同时发生的。名称作为在外部作用域中声明的变量。在标识符(名称,而不是变量)级别,这称为名称掩码。您可以在声明时定义引用,例如
private SongDatabase songDatabase = new SongDatabase();
然后像
private void run() { switch (userInput) { case 1: songDatabase.addNewSong(); break; case 2: songDatabase.removeSong(); break; case 3: songDatabase.sortSongs(); break; default: System.out.println("Please enter a valid number."); break; }}


