a1
范围仅在主要内部。这意味着您a1
只能在 main 方法中使用。为了能够在 main 之外使用它,您需要将它作为参数传递给您将在其中使用它的方法。因此,如果您想a1
在您的runner1
方法中使用它(假设 runner1 是Album
该类的方法,您需要做类似的事情:
public static void main(String[] args) {
Album a1 = new Album("Fede Finn og Funnyboys", "Glade Aber");
a1.runner1();//you need to call runner1 on the Album object
Ar1.addAlbum(a1);
}
在 Album 对象上调用 runner1 后,您可以a1
在里面runner1
通过关键字引用该对象this
编辑:这里的想法是一样的。您在 main 方法中创建 Album 对象,并调用调用底部存在的方法。在此方法中,通过 引用 Album 对象this
。例如,如果调用了该方法runner1
,则:
public void runner1() {
Ar1.sortList();
System.out.println("");
toTxt(1);
Ar1.removeAlbum(this);//refer to the Album object you want to remove by this
}
因此,在您的 main 方法中,每次调用runner1
Album 对象的方法时,都会将该对象称为 as this
,您可以在方法中使用关键字removeAlbum
。
因此,如果您有三个 Album 对象,则在您的 main 中a1, a2, a3
,并按以下顺序调用该runner1
方法:
a1.runner1();
a2.runner1();
a3.runner1();
然后每次调用都会删除调用该方法的对象,因为您this
在该方法中引用它。
希望这可以解决您的问题