java - 如何重置构造函数的 getter 和 setter

标签 java constructor

在我最近的大学工作中,我收到了一项任务,我认为该任务是重新分配由 getter 和 setter 设置的值。确切的问题是 "编辑所有类别共享的产品主要信息,如ID、 描述等”

我对这个问题的尝试如下。

 public void editProductInformation() { //Standard level task 2 method 3

        this.ID = 456890;
        this.description = "Eggs";
        this.recommendedUnitPrice = 10;
        this.Unit = 6;
        this.weight = 750;              
    }

}

这也是该类其余部分的代码

public class Product {

    Scanner input = new Scanner(System.in);

    protected int ID;
    protected String description;
    protected double recommendedUnitPrice;
    protected double actualPrice;
    protected int Unit = 1;
    protected double weight;
    protected LocalDate expiaryDate;
    protected LocalDate expireDate;

    public Product(int ID, String description, double recommendedUnitPrice, int unit, double weight, LocalDate expiarayDate) {
        this.ID = ID;
        this.description = description;
        this.recommendedUnitPrice = recommendedUnitPrice;
        this.Unit = unit;
        this.weight = weight;
        this.expiaryDate = expiarayDate;

    }

    public int getID() {
        return this.ID;
    }

    public void setID(int ID) {
        this.ID = ID;
    }

    public String getDescription() {
        return this.description;
    }

    public void setDescripption(String description) {
        this.description = description;
    }

    public double getRecommendedUnitPrice() {
        return this.recommendedUnitPrice;
    }

    public void setRecommendedUnitPrice(double recommendedUnitPrice) {
        this.recommendedUnitPrice = recommendedUnitPrice;
    }

    public int getUnit() {
        return this.Unit;
    }

    public void setUnit(int unit) {
        this.Unit = unit;
    }

    public double getWeight() {
        return this.weight;
    }

    public void setWeight(double Weight) {
        this.weight = Weight;
    }

    public LocalDate getExpiaryDate() {
        return expiaryDate;
    }

    public void setExpiaryDate(LocalDate expiaryDate) {
        this.expiaryDate = expiaryDate;
    }

    public void setPrice() {
        System.out.println("Enter the price: ");
        this.actualPrice = input.nextDouble();
    }

    public void setExpireDate() {

        System.out.println("Enter the given date: ");
        int day = input.nextInt();
        int month = input.nextInt();
        int year = input.nextInt();
        LocalDate date = LocalDate.of(day, month, year);
        this.expireDate = date;
    }

    public void comparePrice() { // Standard level task 2 method 1

        if (recommendedUnitPrice == actualPrice) {
            System.out.println("Price is equal");
        } else if (recommendedUnitPrice < actualPrice) {
            System.out.println("Price is less");
        } else if (recommendedUnitPrice > actualPrice) {
            System.out.println("Price is more");
        }

    }

    public void verifyExpireProduct() { //Standard level task 2 method 2

        if(expireDate == expiaryDate) {
            System.out.println("Product is expired");
        }
        else System.out.println("Product is not expired");
    }

我知道这个问题可能解释得不够好,所以我知道人们是否希望投反对票。非常感谢任何见解或帮助!

最佳答案

您可以创建此类的对象,然后使用类中定义的 setter 函数来设置值。

Product p1 = new Product();
p1.setId(5);
//This will set the Id to 5 

关于java - 如何重置构造函数的 getter 和 setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57555604/

相关文章:

java - 无法从 onClickListener 调用方法

java - 在具有粘性标题的 selenium 中捕获完整的网页屏幕截图

javascript - Javascript构造函数属性有什么意义?

java - 为什么我的 Java 代码在对象声明后停止响应?

class - 创建其类型变量类实例的 TypeScript 泛型类?

java - 有没有办法在 Netbeans 中找到包名错误的类?

java - Jetty - 对不同的应用程序版本使用符号链接(symbolic link)

java - 在 JavaME 的 URL 中发送非拉丁查询字符串

c++ - 按值或引用传递给需要存储拷贝的 C++ 构造函数?

c++ - 我将如何使用初始值设定项列表直接创建我的链接列表?