Java 我可以打印一个setter值(sysout)吗?或者我必须只使用getter才能获得输出吗?(爪哇)

Java 我可以打印一个setter值(sysout)吗?或者我必须只使用getter才能获得输出吗?(爪哇),java,printing,setter,getter-setter,Java,Printing,Setter,Getter Setter,我最近刚刚了解了塞特、盖特和这件事。 我很难理解什么时候该用接球手,什么时候该用二传手。 另外,我可以用setter方法打印出来吗 class workerId { private int workerAge; private String workerName; private int workerIde; public void setWorkerAge(int newAge) { newAge = workerAge; } public void setWorkerName(

我最近刚刚了解了塞特、盖特和这件事。 我很难理解什么时候该用接球手,什么时候该用二传手。 另外,我可以用setter方法打印出来吗

 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());

    }

}
例如:

 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命令中只能使用getter吗?

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

 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());

    }

}
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中传递的值,而不是再次设置该值。因此,您的代码应该如下所示:

 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());

    }

}
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;
  }
}
如果您需要getter,它应该如下所示:

 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());

    }

}
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.printlnworker1.getIde

我的提示:返回并重新开始学习编程的基础知识SetIDE是一个带参数的函数。你应该提供那个论点。。您可以使用getIde函数获取结果并打印它getter和setter只是代表一种常见的编程实践,设置并获取类实例变量的值。如果你愿意的话,你可以给它们取不同的名字。更重要的部分是returntypeìnt、void、String等。在当前情况下,您调用的是setIde,但您的方法定义为setIdeint,其中缺少int参数。此外,setter通常为returntype void。并且您的setter构造不正确。您应该将方法参数分配给类成员,如workerAge=newAge@bub考虑到我3天前开始学习java,这是我学习的基础知识--它不起作用,编译器说:Ide不能解析为变量,你能解释吗?@xepo抱歉,我以为错误只存在于getter函数中。您的setter函数也错误。
 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());

    }

}