我可以打印一个 setter 值 (sysout) 还是我必须只使用 getter 才能获得输出? (java)

can i print a setter value (sysout) or do i have to use only getters in order to get an output ? (java)

我最近才了解到 setter 、getters 和 this.(somthing)。 我很难理解何时使用吸气剂以及何时使用 setters .
另一件事,can i use setter method to print out ?

例如:

 class workerId {
private int workerAge;
private String workerName;
private int workerIde;

public void setWorkerAge(int newAge) {
    newAge = workerAge;
}

public void setWorkerName(String newName) {
    newName = workerName;
}

public int setIde(int ide) {
    ide = workerIde;
    return ide;

 }
}

public class App {

public static void main(String[] args) {
    workerId worker1 = new workerId();
    worker1.setWorkerAge(41);
    worker1.setWorkerName("dan ");
    worker1.setIde(318574524);

    System.out.println(worker1.setIde());

    }

}

系统输出显示错误,我不明白为什么,是因为在 sysout 命令中只能使用 getters 吗?

您应该使用 getter 方法来获取值。

class workerId {
private int workerAge;
private String workerName;
private int workerIde;

    public void setWorkerAge(int newAge) {
        workerAge = newAge;
    }

    public void setWorkerName(String newName) {
         workerName=newName;
    }
    public int getIde() {
    return workerIde;
    }    

    public void setIde(int ide) {
        workerIde = ide;

     }
    }

    public class App {

    public static void main(String[] args) {
        workerId worker1 = new workerId();
        worker1.setWorkerAge(41);
        worker1.setWorkerName("dan ");
        worker1.setIde(318574524);

        System.out.println(worker1.getIde());

        }

    }

无意冒犯,但你的setter全错了。您应该将您的属性分配给 setter 中传递的值,而不是再次设置该值。所以你的代码应该是这样的:

class workerId {
  private int workerAge;
  private String workerName;
  private int workerIde;

  public void setWorkerAge(int newAge) {
    workerAge = newAge;
  }

  public void setWorkerName(String newName) {
    workerName = newName;
  }

  public int setIde(int ide) {
    workerIde = ide;
  }
}

如果你需要吸气剂,它应该是这样的:

class workerId {
  private int workerAge;
  private String workerName;
  private int workerIde;

  public void setWorkerAge(int newAge) {
    workerAge = newAge;
  }

  public void setWorkerName(String newName) {
    workerName = newName;
  }

  public int setIde(int ide) {
    workerIde = ide;
  }
  public int getIde() {
    return workerIde;
  }
}

然后你可以打印,例如System.out.println(worker1.getIde());

    class workerId {
    private int workerAge;
    private String workerName;
    private int workerIde;

    public void setWorkerAge(int newAge) {
        this.workerAge = newAge;
    }

    public void setWorkerName(String newName) {
        this.workerName = newName;
    }

    public int setIde(int ide) {
        this.workerIde = ide;
        return this.workerIde;

     }
    }


    public class Car {

    public static void main(String[] args) {
        workerId worker1 = new workerId();
        worker1.setWorkerAge(41);
        worker1.setWorkerName("dan ");
        worker1.setIde(318574524);

    System.out.println(worker1.setIde(56));
    }

}