有没有办法使用用户输入 JAVA 将变量从 main class 发送到 subclass

Is there a way to send variables from main class to subclass using user input JAVA

所以我正在开发一个(据说)简单的 java 应用程序,它使用用户的控制台输入来更改另一个 class 中的私有变量。现在我可以通过手动将变量输入到对象中来直接从主 class 更改 EmpCls class 中私有变量的值,例如 EmpCls empObject1 = new EmpCls("josh"); 但我怎样才能得到这样的东西 EmpCls empObject1 = new EmpCls(ctName);上班?其中 ctName 是用户输入的变量。这是主要 class:

中的相关代码
import java.util.*;
public class NewWan {
    static Scanner console = new Scanner(System.in);
    public static void main(String[] args) {

    EmpCls empObject1 = new EmpCls(ctName);
    String ctName = empObject1.getName();

    System.out.println("enter name: ");
    ctName = console.next();

    }
}

有问题的子class:

public class EmpCls {

    private String name;
    private String ext;
    private int yearStarted = 0;

    public EmpCls()
    {

    }

    public EmpCls(String inName)
    {

        this.name = inName;

    }

    public void setEmpDetails(String inName) //, String inExt, int inYearStarted)
    {

        this.name = inName;
//          this.ext = inExt;
 //         this.yearStarted = inYearStarted;

    }

    public String getName()
    {
        return this.name;

    }

    public int getYearStarted()
    {
        return this.yearStarted;
    }

    public String getExt()
    {
        return this.ext;
    }

    public void displayDetails()
    {
        System.out.println("Name: " + name);
        System.out.println("Ext: " + ext);
        System.out.println("Year Started" + yearStarted);
    }


}

代码的某些部分被注释只是为了更容易解决问题,其他部分是我正在处理的不同问题的一部分。

您只需要稍微重新排序语句并删除没有意义的语句:

public static void main(String[] args) {
    System.out.println("enter name: ");
    String ctName = console.next();
    EmpCls empObject1 = new EmpCls(ctName);
}

嗯...只是为了以好的方式组织您的代码?你在获取值之前使用变量,在声明它之前......奇怪的方式^^

public static void main(String[] args) {

    System.out.println("enter name: "); 
    String ctName = console.next();

    EmpCls empObject1 = new EmpCls(ctName);

    System.out.println("You just enter " + empObject1.getName()); 
}