【发布时间】:2012-01-19 13:39:20
【问题描述】:
我有一个方法对另一个类不可见的问题,我无法弄清楚。 我有一个 Shopping_Basket 类,它有一个商品列表(商品是一个类)。我试图让 Shopping_basket 类中的商品列表到达 Merchandise 类中的 getItemCost 方法。但是我得到一个错误,该方法不可见......我不知道出了什么问题:
public class Shopping_Basket {
private List<Merchandise> basket;
public List<Merchandise> getList() {
return basket;
}
public Shopping_Basket() {
basket = new ArrayList<Merchandise>();
}
public double getTotalCost() {
double j = 0;
for (int i = 0; i < this.getList().size(); i++){
j += basket.get(i).getItemCost();
}
return j;
}
这是商品类:
public class Merchandise {
private String item_name;
private int item_cost;
public Merchandise(String name, int cost) {
this.item_name = name;
this.item_cost = cost;
}
public String getItemName() {
return item_name;
}
public double getItemCost() {
return item_cost;
}
所以 getTotalCost() 方法出错,它说 getItemCost() 不可见...帮助?
【问题讨论】:
-
该方法应该是可访问的。确保对所有内容进行干净构建。
-
这不是问题的原因,但在
Merchandise中,您将item_cost声明为int,但从返回类型为double的方法中返回它。跨度> -
一件不会导致您的问题的小事情 suns java style guild 不鼓励在 java 名称中使用下划线。所以大多数人会期望 ShoppingBasket 和 itemCost 而不是 Shopping_Basket 和 item_cost。
-
你是如何运行程序的?来自 IDE?命令行?
-
我不明白你是如何初始化 Merchandise 类的构造函数的,当你使用它时
标签: java methods arraylist invisible