[英]How do I pass a class reference from another class?
我正在构建一个基本的初学者 Java 程序,但我不断收到 NullPointerException 错误,我似乎无法解决问题。
我有两个类 - 用户和购物车。
用户 class 包括带有以下代码的购物车 class:
package eCommerceApp;
import java.util.List;
import java.util.Collections;
import java.util.Comparator;
public class User extends Person {
public User(String name, String surname, int budget) {
super(name, surname, budget);
}
public Cart myCart;
public String getReceipt(List<Product> products) {
int sum = 0;
for (Product product : products) {
sum += product.getPrice();
}
return "Your total bill is " + sum + " rsd.";
}
public String getMostExpensiveItem(List<Product> products) {
Product product = Collections.max(products, Comparator.comparing(s -> s.getPrice()));
return "The most expensive item in your shopping cart is " + product.getName() + ".";
}
public String getCheapestItem(List<Product> products) {
Product product = Collections.min(products, Comparator.comparing(s -> s.getPrice()));
return "The cheapest item in your shopping cart is " + product.getName() + ".";
}
}
还有购物车 Class:
import java.util.List;
public class Cart {
List<Product> products;
public Cart(List products) {
this.products = products;
}
public String getProducts() {
return this.products.toString();
}
public void setProducts(List products) {
this.products = products;
}
}
现在,当我想通过在主 class 中键入User.myCart.setProducts(list)将产品列表设置到我的用户购物车时,我收到 NullPointerException 错误。 我该如何解决这个问题?
要在其他类中使用类,您需要像这样创建它们的实例:
public Cart myCart = new Cart();
除非您的整个 class 是 static,否则这是 go 的方式。 但始终让您的课程 static 通常不是一个好习惯。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.