在班级浏览器中,我有一个字段

   private ArrayList<WineCase> basket;


并且我在构造函数中创建了ArrayList:

   basket = new ArrayList<WineCase>();


在网站类中,我必须访问此ArrayList。当我尝试编译此for-each标头时:

 for(WineCase wineCase : basket)


错误是“未声明变量篮”。如何从浏览器类声明ArrayList?

最佳答案

您已在basket中将private声明为Browser,因此无法直接访问它。那很好;它被封装。

Browser中创建一个“ getter”方法来访问它:

public ArrayList<WineCase> getWineCases() {
    return basket;
}


当然,您仍然需要一个Browser实例以在其上调用getWineCase。然后,您可以调用方法:

for(WineCase wineCase : aBrowser.getWineCases())

09-27 12:57