gpt4 book ai didi

java - 如何在对象中保存私有(private)字段(在方法中获得)的值?

转载 作者:行者123 更新时间:2023-11-30 07:49:20 24 4
gpt4 key购买 nike

我想不出在类对象中保存 supplierName 值的方法。我正在尝试使用用户输入在 addItem 方法中更改它,并将其存储在类对象中。它不起作用。我究竟做错了什么?我需要更改我的构造函数吗?还是使用 getter 方法?

这是我的代码:

import java.util.Scanner;

public class PurchasedItem extends Item {

private String suppplierName;

public PurchasedItem() {}

@Override
public boolean addItem(Scanner input) {
super.addItem(input);

System.out.print("Enter the name of the supplier: ");
suppplierName = input.next();

return true;
}

@Override
public String toString() {

String str = super.toString();
return str + " Supplier: " + suppplierName;
}
}

最佳答案

一个解决方案是允许构造函数接受一个参数,例如:

public PurchasedItem(String constructorArgument){
supplierName = constructorArgument;
}

然后,您可以执行如下操作:PurchasedItem item = new PurchasedItem("some supplier");

由于类变量是私有(private)的,因此您还需要 getters/setters。

例如:

二传手:

public void setSupplierName(String s){
this.supplierName = s;
}

setter/getter :

public String getSupplierName(){
return this.supplierName
}

然后要进行操作,您需要执行以下操作:

item.setSupplierName("some company");
item.getsupplierName();

不过,在使用 setter 时,您应该注意线程安全。

关于java - 如何在对象中保存私有(private)字段(在方法中获得)的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48575056/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com